我已经完成了研究,但似乎没有找到明确的答案。
我的问题如下:我有一个 mysql 数据库,我将它(在脚本的帮助下)转换为 sqlite 数据库。在原始数据库(以及 sqlite)中,我发现了一些包含以下字符的条目:â€〜,’,ë,ñ,...(Windows-1252?)还有一些 HTML-代码。
我用原始的mysql DB在PHP中做了一个测试,只要我添加了content-type utf-8,字符就很好了,否则我会得到相同的奇怪字符â€〜,’,à «, ñ。
我在 iOS 中尝试过以下操作:
[[NSString alloc] initWithCString:(const char *) sqlite3_column_text(rs.statement.statement, 4) encoding:NSStringEncodingConversionExternalRepresentation];
[NSString stringWithUTF8String:[[[rs stringForColumn:@"tekst"] stringByDecodingHTMLEntities] cStringUsingEncoding:NSStringEncodingConversionExternalRepresentation]];
- NSStringEncodingConversionExternalRepresentation
- NSUTF8StringEncoding
- NSISO2022JPStringEncoding
- NSStringEncodingConversionAllowLossy
- NSWindowsCP1252StringEncoding
- ...
然后我发现了这个: MWFeedParser NSString+HTML
通过这些类,我能够将 HTML 和 ë 转换为 ë。另一方面,其他角色似乎不起作用。
那么,如何转换/编码/解码这些字符才能正常显示呢?