加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 20:37:09 所属栏目:百科 来源:网络整理
导读:由于刚刚开始接触Objective C在处理中文的时候,绕了好大一个圈子. 在使用sqlite读取的字符的时候,默认是char *的. 但是在我的程序中要使用的是NSString,这就涉及到了一个转换. 由于看的死书,按照书上和网上写的,在转换时使用了 NSASCIIStringEncoding,导致了

由于刚刚开始接触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]; //转换

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读