跳到正文
W Winse Blog
windows dev 1 min read

乱码: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

只要输入输出编码一致,乱码就与你无缘了。

在 GitHub 上讨论

欢迎通过 GitHub Issue 留言或反馈。每条讨论都会关联到对应文章的源文件路径。

2025-11-18-乱码:Windows开发成长必由之路.md

Related posts