欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Visual Studio 2019 处理中文编码字符集

最编程 2024-03-12 15:13:21
...

I - 编码字符集

由于不同平台/系统,编码、运行、打印字符集都不相同,中文容易出现乱码或者匹配错误等问题。

Win 平台的编码和运行字符集 (source and execution character set) 可以通过 MSVC 编译器选项设置

/utf-8
或者
/source-charset:utf-8 /execution-charset:utf-8

或者预编译指令

#pragma execution_character_set("utf-8")

打印字符集可以通过 Windows 的 API

SetConsoleOutputCP(65001);

注:代码页 (code page) identifier 65001 对应 utf-8 字符集

II - 高级保存选项

2.1 - 添加高级保存选项

Visual Studio(以下简称 VS)菜单栏文件下拉菜单中如果不包含"高级保存选项 (Advanced Save Option)",需要添加,若包含则可跳过本小节。

首先打开自定义
" 工具 (Tools) " → " 自定义 (Customize) "

切换到" 命令 (Commands) " ,并将 " 菜单栏 (Menu Bar)" 设置为 " 文件 (File) " ,点击右侧的 " 添加命令 (Add Commands...) "

customize.png

弹出如下窗口,左侧"类别 (Categories)" 子选项选择"文件 (File)" ,右侧"命令 (Commands)" 栏选择"高级保存选项 (Advanced Save Options...)",点击"确定 (OK) " 。

addcmd.png

2.2 - 修改文件格式

修改文件,在文件菜单栏选择刚刚添加的"高级保存选项",在弹出窗口
"编码 (Encoding) " 选择 " Unicode (UTF-8 无签名) - 代码页 65001
(Unicode (UTF-8 without signature) - Codepage 65001) " ,
点击 " 确定 (OK) "。

encoding.png

III - 后记

对于 Qt 使用 msvc 编译器的开发,偶数个中文汉字字符串容易引起问题,仍可以设置编码为 utf-8 ,使用

QString::fromUtf8("中文字符");