失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Qt5解决显示中文的时候出现乱码的问题

Qt5解决显示中文的时候出现乱码的问题

时间:2021-05-25 17:47:15

相关推荐

Qt5解决显示中文的时候出现乱码的问题

QTextCodec 类提供文本编码之间的转换。

Qt 使用 Unicode 来存储、绘制和操作字符串。在许多情况下,您可能希望处理使用不同编码的数据。例如,大多数日语文档仍然存储在 Shift-JIS 或 ISO -JP 中,而俄罗斯用户的文档通常存储在 KOl8-R 或 Windows-1251 中。

Qt 提供了一组 QTextCodec 类来帮助在非 Unicode 格式和 Unicode 之间进行转换。您还可以创建自己的编解码器类。

GBK 编解码器提供与中文 GB18030/GBK/GB2312 编码之间的转换。

GBK,正式的中文内码规范,是GB 2312-80 的常用扩展。 Microsoft Windows 在名称代码页 936 下使用它。

GBK 已被新的中国国家标准 GB 18030-2000 取代,该标准增加了 4 字节编码,同时与 GB2312 和 GBK 保持兼容。新的 GB 18030-2000 可以描述为 Unicode 3.x 和 ISO-10646-1 的特殊编码。

m_TextCodec = QTextCodec::codecForName("GB18030");m_btn1.setText(m_TextCodec->toUnicode("按钮1"));m_btn2.setText(m_TextCodec->toUnicode("按钮2"));m_btn3.setText("按钮3");m_btn4.setText("按钮4");QHBoxLayout* hLayout1 = new QHBoxLayout;hLayout1->addWidget(&m_btn1);hLayout1->addWidget(&m_btn2);QHBoxLayout* hLayout2 = new QHBoxLayout;hLayout2->addWidget(&m_btn3);hLayout2->addWidget(&m_btn4);QVBoxLayout* vLayout = new QVBoxLayout;vLayout->addLayout(hLayout1);vLayout->addLayout(hLayout2);setLayout(vLayout);setWindowTitle(m_TextCodec->toUnicode("中文乱码的问题"));

运行效果图:

如果觉得《Qt5解决显示中文的时候出现乱码的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。