我现在要从多方取汉字(utf-8编码)数据,一是从char型数组中获取汉字(直接转换为qstring),另一个是QByteArray从字码表文件中获取汉字在转化为qstring,因为最终的数据要存在qstring链表中,现在遇到的问题是总有一方显示是乱码:加上QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));后从码表获得汉字是乱码,不加从树组里获得汉字是乱码!
大侠给点方法吧!!!
------最佳解决方案--------------------
uchar 是几位的?宽字节是几位的?还有你这个是啥子编码?如果你这样的数据我建议你
QString("啊阿吖嗄腌锕呵安按爱暗埃").多方便还剩了转换
------其他解决方案--------------------
不要使用char,如果是utf-8编码,你使用char应该基本都是乱码
用wchar_t试试看,或者直接读入QString。
------其他解决方案--------------------
你加上这个试试看
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
------其他解决方案--------------------
同为菜鸟,为什么亲测能够通过,你别把问题搞错了,带着大家一起绕圈子。
------其他解决方案--------------------
这个问题在百度上会找到更详细的答案
------其他解决方案--------------------
const unsigned char PY_mb_a[]= {"啊阿吖嗄腌锕呵安按爱暗埃"};
我是这样定义的应该不会放不下引起的!
------其他解决方案--------------------
作为菜鸟程序开始这个是必然的。
------其他解决方案--------------------
你是按照一个从文件读取,一个从字符数组读取?关键的码表文件也是utf8的设置成GBK干嘛?
------其他解决方案--------------------
另外我想问下对一个class求sizeof是不是和c里对struct是一样的意思?为什么sizeof(qstring)和sizeof(qbytearray)都是4啊?
------其他解决方案--------------------
没找到呢?你给个详细的网址