对于中文显示,由于QT默认采用UTF-8编码显示,若在控件中使用GBK类型的中文,则会显示乱码。
- 给Qt控件设置内容,如果有中文必须为utf-8编码
- 从Qt他得到的字符串,也需是utf-8的编码
可以采用如下步骤:
(1) 包含头文件 #include <QTextCodec>
(2) 定义全局变量 QTextCodec *codec;
(3) 构造函数内部初始化:
codec = QTextCodec::codecForName("GBK");
(4) gbk > utf-8:codec->toUnicode()
(5) utf-8 > gbk: codec->fromUnicode()
网友评论