[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