不要误会,标题是我特意复制来的:D。其实这个问题从很早的时代就断断续续有人遇到了,也不知为何如今的编译器还是没有把utf-8支持,写入默认配置文件。

这种报错看起来是这样的,代码中使用了一个中文冒号:
乱码插图.png

代码中输入其他中文汉字也会导致这种情况。

解决方法 1 (推荐)

我使用的工具是 Jetbrains IDEA,最初都是在IDEA的配置文件中,配置上了文件编码为utf-8的,但是每次编译器的更新都会把这个文件初始化掉,以至于我的配置又失效了。

下面是详细说明。

找到你编译器安装的文件夹,然后找到IDEA的配置文件,配置文件截图如下:

IDEA配置文件截图.png

编辑截图中选中的文件idea64.exe.vmoptions,如果你是32位系统,就编辑idea.exe.vmoptions,
然后再文件的最末,加上一行下面的代码:

-Djava.file.encoding=UTF-8

编辑后如下:

编辑后的配置预览.png

然后重启IDEA程序,再重新编译运行程序,就不会出现乱码问题了。

解决方法 2

在编译器的运行配置中,加入UTF-8选项,每个编译器都可以找到类似的配置,如果你使用的不是IDEA,请善用搜索引擎,查找你所使用工具的配置方法。

IDEA的RunConfig_cr.png

按截图说明,加上-Djava.file.encoding=UTF-8,这种操作本质上与方法一是一样的。只不过以后运行的每个程序都要按需求配置该项,比较费事。

解决方法 3

编辑IDEA的自定义配置,点击顶部工具栏的“Help”,然后选择Edit Custom VM Options,然后在打开的文件中,也是最后一行,新增一行配置-Djava.file.encoding=UTF-8,逻辑上与第一种方法也是一致的,只不过这种配置的生效范围是仅当前项目还是其他项目也会生效就不清楚了,我没有测试,因为我习惯用第一种方法处理。

IDEA的Help.png

毕竟只是一个配置,想怎么用,随意。