IntelliJ IDEA社区版编译中文显示问号?乱码问题咨询
IntelliJ IDEA社区版Java程序中文控制台输出问号修复方案
问题复现
使用IntelliJ IDEA社区版开发Java程序时,程序无编译、运行报错,可正常执行结束,但所有控制台输出的中文字符均显示为?。
复现代码:
System.out.print("你好");
对应运行输出:
?? Process finished with exit code 0
修复步骤
该问题由全链路编码配置不统一导致,按以下顺序逐一调整配置即可解决:
- 统一文件编码:打开IDEA设置(快捷键
Ctrl+Alt+S),进入Editor > File Encodings配置页,将Global Encoding、Project Encoding、Default encoding for properties files全部设置为UTF-8,勾选Transparent native-to-ascii conversion选项后保存配置。 - 指定编译阶段编码:在设置页进入
Build, Execution, Deployment > Compiler > Java Compiler,找到Additional command line parameters输入框,填入参数-encoding utf8,强制编译器使用UTF-8编码解析Java源文件。 - 配置IDEA运行时编码:打开IDEA安装目录下的
bin文件夹,根据自己使用的IDEA版本对应编辑idea64.exe.vmoptions(64位程序)或idea.exe.vmoptions(32位程序),在文件末尾新增一行配置-Dfile.encoding=UTF-8,保存后完全重启IDEA。 - 校验单启动项配置:点击顶部工具栏运行配置下拉按钮,选择
Edit Configurations,找到对应Java程序的启动配置,检查VM options栏是否存在指定其他编码的冲突参数,无特殊配置时可手动填入-Dfile.encoding=UTF-8,重新运行程序即可正常显示中文。
内容的提问来源于stack exchange,提问作者aimster132
相关产品推荐
相关产品推荐

