ios - 在 QLPreviewController 中使用元音符号查看 UTF-8 编码的 CSV 文件时出现问题

标签 ios encoding csv utf-8 qlpreviewcontroller

在我的应用程序中,我使用 CHCSVWriter 生成一个 UTF8 编码的 CSV 文件,并使用 QLPreviewController 显示它。该文件可能有一些特殊字符,例如变音符 (ü, ä),我已经检查了这些文件并且它们正在正确生成。然而,当它们与 QLPreviewController 一起显示时,字符被搞砸了!我自始至终检查了我的编码,它们都是 UTF-8,所以代码点没有被破坏。 QLPreviewController 有问题吗?有什么建议吗?

这是我用来创建和显示 CSV 文件的代码:

NSString *path = @"my path";

CHCSVWriter *csvWriter = [[CHCSVWriter alloc] initWithCSVFile:path atomic:NO];
csvWriter.encoding = NSUTF8StringEncoding;
NSDictionary* w;
for (w in items) {
    [csvWriter writeField:[w valueForKey:@"a"]];
    [csvWriter writeField:[w valueForKey:@"b"]];
    [csvWriter writeLine];
}
[csvWriter closeFile];
[csvWriter release];

QLPreviewController *ql = [[QLPreviewController alloc] init];
[ql setDataSource:self];
[self presentModalViewController:ql animated:YES];
[ql release];

这是显示的内容:

enter image description here

最佳答案

我在查看utf-8 html文件时也有这个问题。

我通过设置 <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> 解决了这个问题在标题中。

UTF-16Latin1没有编码 header 工作正常,所以如果你前。在 UTF-16 中编码您的文件它应该工作。

关于ios - 在 QLPreviewController 中使用元音符号查看 UTF-8 编码的 CSV 文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557246/

相关文章:

ios - UIScrollView 中的 UIStackView 被切断

java - getXmlEncoding() 给出了错误的输出

python - FTP文件名编码

excel - 将电子邮件数据导出到 CSV 文件(或 XLS 文件)中的特定字段

ios - 当导航栏在 iOS 7 中使用 Tint Color 可见时,白色状态栏消失

ios - 如何指示用户滑动的方向,而不是 Swift 中的下一个和上一个 View Controller ?

android - Android EditText 中的文本在 WebView 中变成垃圾字符

r - 将表格从 R 获取到 Libre Office Writer 的最佳方法?

Python CSV Reader 似乎按句点分隔

ios - 当用户使用长按手势时如何在 Collection View 单元格中显示按钮。