编译出来有很多 字符在当前源字符集中无效

[复制链接]
查看3731 | 回复4 | 2017-11-6 23:16:42 | 显示全部楼层 |阅读模式
但是编译可以通过。请问怎么解决吗?
D5B]LK65{5`WKQJG]SEG3OD.png
D{0WQXP7VJGRI963MT345GY.png
mknmknmk | 2017-11-7 18:02:05 | 显示全部楼层
回复 支持 反对

使用道具 举报

powers0010 | 2017-11-8 08:45:57 | 显示全部楼层
Remove all chararacters in your code as "áàâäãéèêëí,..." in comments too and your warning will vanish.
这句话何解?
回复 支持 反对

使用道具 举报

rrfetch | 2017-11-8 09:18:30 | 显示全部楼层
就是说文件里最好只有英文 ASCII 字符,不要有汉字的意思。

因为 cpp 和 hpp 文件都是文本文件,编译器没办法预知它是什么编码的,只能猜测一个,猜错了就会报这类错误。

不光是编译器,所有处理文本的工具链都有这个问题,包括 git 这类版本管理工具等。

推荐的方法是
1) 如果你团队的英文都很好,那就全都用英语
2) 如果喜欢用中文(或任何其它非英语语言,比如德语、法语、阿拉伯语等),就用英文的 Windows 系统,代码文件用 utf-8 编码(Visual Studio 可以在 File -> Advanced Save Option 下的 Encode 设置为 utf-8 / 65001)。

Visual Stduio 编码选择

Visual Stduio 编码选择


为了永久避免编码问题,强烈推荐英文 Windows + utf-8 编码组合
回复 支持 反对

使用道具 举报

rrfetch | 2017-11-8 09:21:53 | 显示全部楼层
用英文 Windows 的优点是,你写的中文程序,如果有编码问题,马上就能看出来,也就很快修正了。显示正常后,在任何 Windows 上都能正确显示中文(有字体的情况下)

不会出现中文 Windows 上显示正常,英文或者韩文 Windows 上显示乱码的现象。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12

主题

34

回帖

41

积分

初始化成员

积分
41