嵌入式QT文件管理显示磁盘中文文件名

来源:互联网 发布:收看香港电视台软件 编辑:程序博客网 时间:2024/06/07 07:10

QString与各编码之间的关系

QString本身是unicode编码,所以我们要将Linux系统支持的字符编码(可能是utf8、、、)转化为QString

Linux一般支持UTF-8文件编码,所以

QFileInfo & fileInfor ;

fileInfor.fileName();返还的是UTF8的文件编码,若直接赋值给QString,(若文件名存在中文,则会显示中文乱码)。

所以要将utf8文件编码转化为QString本身的unicode编码。

可以采用如下方式:

QFileInfo & fileInfor ;

fileInfor.fileName();

QTextCodec *codec = QTextCodec::codecForName("utf8");

QString fileName =codec->toUnicode( fileInfor.fileName());

结果是QT 显示的 fileName 就是QT读取系统文件的正确文件编码模式(即能正常显示中文)。

当然前提是嵌入式Linux系统里面已经包含中文字库以及设置QT采用正确的中文编码。


0 0