2012-03-29 110 views
1

我有一個iPhone應用程序,用UTF8字符(變音符等)保存文本文件。如果我隨後使用QLPreviewController查看該文件,則UTF8字符無法正確顯示。如果我查看與其他應用程序相同的文件(例如Evernote),或者將它們複製到桌面並使用textedit查看它們,它們顯示正確。QLPreviewController和UTF8字符

有沒有人知道這個問題的一個問題或解決方法?

回答

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。