首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

转为UTF8,如何转

2013-03-01 
转为UTF8,怎么转在网上找了N久了,发现所有的方式都不行,特此求救问题如下:main函数里面的饿QTextCodec的内

转为UTF8,怎么转
在网上找了N久了,发现所有的方式都不行,特此求救
问题如下:
main函数里面的饿QTextCodec的内容:


    QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB18030"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));

程序中的一个QLineEdit的内容需要转为UTF8编码的const char*
我的解决方案如下:

    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QString UTF_str = codec->toUnicode(ui->nameLineEdit->text().toUtf8());
    QByteArray systax_byte = UTF_str.toLatin1();
    const char* UTF_c = systax_byte.data();

但是最后输出的UTF_c中的内容全是问号,求大神协助,GB怎么转UTF8?? C++ Qt UTF8 GB
[解决办法]
你用这种方式看是否为UTF-8是不可取的吧 
另外 GB18030=GBK?  中文的一般设置的GBK比较多些 
[解决办法]
试试使用qPrintable()宏。
qPrintable()宏其实就是str.toAscii().constData(),你试试看这个方法。
[解决办法]

QByteArray systax_byte=ui->nameLineEdit->text().toUtf8();
const char* UTF_c = systax_byte.data();
这个时候,UTF_c指向就是UTF8格式的char []
[解决办法]
http://blog.csdn.net/wangqis/article/details/4577712

我也遇到编码问题,正在看http://blog.csdn.net/wangqis/article/details/4577712
楼主一同分享

热点排行