将中文字符串 由char * 转换为NSString *, 解决乱码问题.

前端之家收集整理的这篇文章主要介绍了将中文字符串 由char * 转换为NSString *, 解决乱码问题.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

由于刚刚开始接触Objective C在处理中文的时候,绕了好大一个圈子.

在使用sqlite读取的字符的时候,默认是char *的. 但是在我的程序中要使用的是NSString,这就涉及到了一个转换.


由于看的死书,按照书上和网上写的,在转换时使用了 NSASCIIStringEncoding,导致了转换后的中文字符串乱码.

在绕了N个圈子之后,终于发现,其实自己用错了encoding了... 使用NSUTF8StringEncoding,即可.


char *Message = (char *)sqlite3_column_text(statement,2); //从sqlite读取的char 型字符串
NSString *nsMessage= [[NSStringalloc] initWithCString:Message encoding:NSUTF8StringEncoding]; //转换

猜你在找的Sqlite相关文章