我实际上使用 UISearchbar 对 SQLite 数据库进行一些查询。主要问题是当我在键盘上加上像“é”这样的重音时,这个重音是完全错误的。有断点我有'。而不是“é”,在日志控制台上我有“√©”。
有没有办法使用重音而不是使用删除重音之类的技巧?
我实际上使用 UISearchbar 对 SQLite 数据库进行一些查询。主要问题是当我在键盘上加上像“é”这样的重音时,这个重音是完全错误的。有断点我有'。而不是“é”,在日志控制台上我有“√©”。
有没有办法使用重音而不是使用删除重音之类的技巧?
保存您的字符串的变量可能是正确的。NSLog 不知道用于字符串的编码并使用默认的编码。您使用的是哪一个 - UTF8?如果是:NSLog(@"%@", [yourString UTF8String]); 应该显示您所期望的字符串。
嗯,我发现了我的问题。
该字符串以 UTF8 正确编码,但是当我进行一些 SQLite 查询时,我使用 ASCII 编码进行了处理,现在我使用 UTF8Encoding
const char *query = [stringQuery cStringUsingEncoding:NSUTF8StringEncoding];
代替
const char *query = [stringQuery cStringUsingEncoding:NSASCIIStringEncoding];