我有一个iPhone应用程序,可以保存带有UTF8字符的文本文件(变音符号等)。如果我然后使用QLPreviewController查看该文件,则UTF8字符无法正确显示。如果我与其他应用程序(例如Evernote)查看相同的文件,或将它们复制到桌面并使用textedit查看它们,它们看起来是正确的。
是否有人知道此问题的问题或解决方法?
答案 0 :(得分:3)
我遇到了同样的问题,发现QLPreviewController
似乎只能正确显示UTF16编码的文本。所以我在呈现之前重新编码了我的文本文件:
NSString* text = ... // Load UTF8-encoded text
NSError* error = nil;
if( [text writeToURL:localFileURL atomically:YES encoding:NSUTF16StringEncoding error:&error] )
{
// Continue presenting the QLPreviewController from localFileURL
}
else
{
NSLog( @"An error occured: %@", error );
}
在iOS 6.0.1上测试。