Qt的中文问题

来源:互联网 发布:现实中的美人知乎 编辑:程序博客网 时间:2024/06/05 16:36

Qt的中文乱码问题一般有两种方法处理:

说明:QString默认是使用Unicode字符串,而编辑的代码时使用的编码一般不是Unicode,通常是gb2312/utf8,因此在使用中文的时候,要将中文转化为Unicode之后,Qt才能正确显示中文。

直接使用QString时,乱码如图:

QString content = "中文显示不乱码。";


1>使用QString的静态函数。显示正常:

    QString content = QString::fromUtf8("中文显示不乱码。");


2>使用QTextCodec的方法。显示正常:

QString的静态函数只提供了常用编码格式的转换,在遇到不常用的编码的时候,通常是使用QTextCodec的方式来解决的。

    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QString content = codec->toUnicode("中文显示不乱码。");


原创粉丝点击