[Qt-interest] 答复: messy code chinese
pengliang(彭亮)
pengliang at founder.com
Fri Apr 15 05:06:50 CEST 2011
Hi
I have solved it with that I copied ./plugins/codecs/ to the directory of application.
But I don’t know whether there is other better approach.
Thanks
Ken
________________________________
发件人: Chen, Zhenqiang [mailto:zhenqiang.chen at intel.com]
发送时间: 2011年4月15日 11:02
收件人: 'pengliang(彭亮)'
抄送: 'qt-interest at qt.nokia.com'
主题: RE: [Qt-interest] messy code chinese
I had similar issues before. I solved it with
(1) For const Chinese string, use QObject::trUtf8("提示").
(2) Make sure QTextCodec::setCodec... is executed before the reference of Chinese string. i.e. your code should be in the following execution order.
#if defined(Q_OS_LINUX)
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForCStrings());
QTextCodec::setCodecForTr(QTextCodec::codecForTr());
#endif
...
// set header list
QStringList headerList;
headerList << "flow" << "提示" << "index"
________________________________
From: qt-interest-bounces+zhenqiang.chen=intel.com at qt.nokia.com [mailto:qt-interest-bounces+zhenqiang.chen=intel.com at qt.nokia.com] On Behalf Of pengliang(彭亮)
Sent: 2011年4月15日 9:11
To: qt-interest at qt.nokia.com
Subject: [Qt-interest] messy code chinese
Hi All
I had tried GBK,System,GB2312,UTF8 of QTextCodec, but Chinese still unreadable on other computers, it is perfect on my computer.
Anybody can tell me why?
// set header list
QStringList headerList;
headerList << "flow" << "提示" << "index" <
// set code
#if defined(Q_OS_LINUX)
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForCStrings());
QTextCodec::setCodecForTr(QTextCodec::codecForTr());
#endif
#if defined(Q_OS_WIN)
/*
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("System"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("System"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("System"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
*/
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF8"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8"));
#endif
Thanks
彭亮Ken
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110415/254ca676/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 6888 bytes
Desc: image001.jpg
Url : http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110415/254ca676/attachment.jpe
More information about the Qt-interest-old
mailing list