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)打开工作文件夹

b)工作区,右键

c)选在脚本文件位置

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

(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)运行脚本

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值