Article
乱码:Windows开发成长必由之路
在 Windows 编程开发的话,十之八九都会遇到乱码的问题。身处在两个不同世界,相对的国内开发人员需要具备更多的技能:要学会配置镜像,学会使用代理,还有学会设置字符集。
现在开发涉及的代码、数据库、日志文件默认都使用 UTF-8 编码了,但Windows 系统默认编码还是 GBK(纯中文内容更省空间)。所以,在用Windows 开发就不可避免的遭遇乱码:运行程序终端 输出中文会乱码,SSH 远程访问 Linux 多半也会乱码。
乱码初次遇见,总需要折腾一番。稳定度过新手期才知道怎么配置。
最近在 Windows 系统上编译,又遇到了字符集问题,在终端的中文内容全是乱码的,如果日志重定向到文件再查看就太麻烦了。

只需要程序(输入)和终端(输出)的字符集一致,文字在命令行中就能正常地显示。
整理了一下工作场景中需要配置字符集的,以后再遇到找起来就方便了。
终端 CMD
如果代码编译使用 GBK,那么终端中输出中文是正常的。

但是呢,现在编程开发使用的字符集都是 UTF-8 了,所以在终端才会出现各种乱码。为了能直接在终端显示正常的 UTF-8 文字,需要把命令行程序字符集通过 chcp 65001 切换到 UTF-8 。

SSH远程客户端 SecureCRT
CRT 是历史悠久的 SSH 工具,在复制粘贴命令、上传下载文件、隧道等功能都非常好用。
在遇到字符集问题时,会话配置页修改显示字符集即可。

SecurtCRT:Options - Session Options
构建工具 Gradle
一般都是修改全局配置文件 gradle.properties,设置JVM参数: file.encoding = UTF-8。

临时设置可以配置系统环境变量 JAVA_TOOL_OPTIONS。
集成开发环境 IDE
当下,IDE 默认编码就是 UTF-8 的,直接用默认配置就可以了。如果项目需特定编码,可以打开如图设置工作空间字符集。

Eclipse:Window - Preferences

IDEA:File - Settings

VS Code: File - Preferences - VS Code Settings
除了上面的单一工作空间的配置,还可以全局使用一个字符集,在 IDE 程序的配置文件中添加 file.encoding 来修改。

eclipse.ini

studio64.exe.vmoptions
只要输入输出编码一致,乱码就与你无缘了。
Related
Related posts
-
Windows搭建Flutter桌面开发环境一步到位
2025-06-02
-
appium-Android自动化测试
2020-04-12
-
编译JCEF - win64
2018-10-20
-
WebStart的使用以及如何结合JVMTI
2018-04-06