我有一个使用Core Data的iPhone应用程序,底部有一个SQLite数据库。我正在将一些文本内容从数据库写入文件,但是Å,Ä和Ö等特殊字符在文件中已损坏(它们在应用程序中显示得很好)。
创建和插入数据时,我没有使用任何特殊编码。我只是将NSString(由用户在UITextField中输入)并将其放入我的持久对象中。保存文件时,我使用以下代码:
[csvString writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];
我尝试将BOM添加到文本的开头(“\ xef \ xbb \ xbf”),但它仍然已损坏。任何人都有任何想法可能存在的问题吗?
损坏字符的示例:å变为ö,ä变为Ã
答案 0 :(得分:1)
您的示例损坏看起来像正确的UTF-8字符被解释为ISO-8859-1。你是如何查看文件的?您确定您使用的查看器实际上是将文件解释为UTF-8吗?
答案 1 :(得分:0)
您是否尝试过将编码更改为NSUTF16StringEncoding?