发现程式使用 printf 输出命令视窗时中文会出现乱码。
Google 后发现因为 Windows 命令视窗中文预设使用 Big5 编码,但 VSCode 预设使用 UTF8 编码,所以输出后的结果才会出现乱码。
要解决这个问题有两种方法,第一种可以将命令视窗中文预设编码改为 UTF8 ,第二种将 VSCode 预设编码改为 Big5 ,这里我採用第二种做法。
在左下角开启 VSCode 设定档,加入以下内容。
"files.encoding": "cp950"
设定完后,我开启一个新的档案,然后重新打上程式,执行,结果正常没有乱码。
不过开启旧的档案发现程式内中文的地方变成乱码。
这是因为旧的档案还是用 UTF8 编码,但 VSCode 却用 Big5 解码,所以变成程式出现乱码,要解决这个问题只需要将旧档案另存成 Big5 编码即可。
选取右下角编码。
选以编码重新开启。
选 UTF-8
,然后再点一次右下角编码。
选以编码储存。
选 Traditional Chinese (Big5)
。
可以看到旧档案的编码已经从 UTF8 转成 Big5,执行结果也正确。
结语:
因为在 VSCode files.encoding
是全域设定,所以如果有在开发其他程式,例如网页就会受到影响,因为 html 通常使用 UTF8 编码,这里我还没有想到更好的解法,如果大家有经验欢迎分享 XD。
相关文章:
[VSCode] Visual Studio Code 执行 C++ (1) - 安装 VSCode + MinGW
[VSCode] Visual Studio Code 执行 C++ (2) - IntelliSense + Building + Debugging
[VSCode] Visual Studio Code 执行 C++ (3) - 语法检查
[VSCode] Visual Studio Code 执行 C++ (4) - 範本 (Template)
[VSCode] Visual Studio Code 执行 C++ (5) - 中文乱码
[VSCode] Visual Studio Code 执行 C++ (6) - Code Runner