将中文字符串 由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]; //转换 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |