QT的跨平台开发问题(1)文件编码

1.综述

在不同版本的QT、不同的编译器以及不同操作系统下,如果代码文件中有中文或者非纯英文,那么有的时候会编译不过或者程序运行时有乱码。为了程序正确,有时就需要转换代码文件的字符编码。

以下是我总结的几类不同QT、编译器和操作系统下的代码文件的需要的字符编码。

序号

QT版本

编译器

字符编码

1

QT4

VS2008

ANSI

2

QT5

VS2015

UTF-8-BOM

3

QT4/5

GCC

UTF-8

2.工具

使用notepad++可以装换编码,安装插件后就可以批量装换整个工程的所有代码文件。

所需的notepad++版本一定是32位版本,插件是Python Script,具体的方法可以参考notepad++批量转换文件编码,我已经把配置好的notepad++上传到https://download.csdn.net/download/no2101/12394396,大家可以下载。

3.使用

(1)nodepad++最好设置成英文。

(2)脚本文件位置位于

Notepad++\plugins\PythonScript\scripts

可以自己添加

(3)可以打开脚本并脚本,亦可以把脚本放到工作区中。步骤如下:

      a)打开工作文件夹

QT的跨平台开发问题(1)文件编码_第1张图片

b)工作区,右键

QT的跨平台开发问题(1)文件编码_第2张图片

c)选在脚本文件位置

QT的跨平台开发问题(1)文件编码_第3张图片

d)就可以查看和修改脚本文件了

QT的跨平台开发问题(1)文件编码_第4张图片

(4)脚本修改

import os;

import sys;

filePathSrc="D:/Qt" #项目文件夹

for root, dirs, files in os.walk(filePathSrc):

    for fn in files:

        if fn[-2:] == '.h' or fn[-2:] == '.c' or fn[-4:] == '.cpp': # 装换的代码文件类型

            notepad.open(root + "\\" + fn)          

            notepad.runMenuCommand("Encoding", "Convert to ANSI")

            #notepad.menuCommand(MENUCOMMAND.FORMAT_TOUNIX)

            #notepad.menuCommand(MENUCOMMAND.FORMAT_TOMAC)

            notepad.menuCommand(MENUCOMMAND.FORMAT_TODOS)

            notepad.save()

            notepad.close()

(5)运行脚本

QT的跨平台开发问题(1)文件编码_第5张图片

这样你的代码既可以转成你希望额字符编码了。

你可能感兴趣的:(notepad++,QT)