原文:https://blog.iyatt.com/?p=14017
1 测试环境
我这里在
- Windows 11 专业版 23H2 中文版
- PowerShell 7.4.1
中,默认的字符编码是 936 GB2312
官方的标识码解释:https://learn.microsoft.com/zh-cn/windows/win32/Intl/code-page-identifiers
- Visual Studio 2022
2 中文乱码出现的原因
出现乱码通常就是记录的规则和阅读的规则不一样导致的,举一个例子,我在纸上写了四个字“女子弓虽”,如果别人读的时候是把我的每两个字当作一个字,那么读取出来就是“好强”,乱码产生大致就是相似的原因。解决乱码的问题就在于保证每个阶段都是用的匹配的规则。
3 UTF-8 源码执行乱码的解决方案
在 Linux 中及其它很多领域的开发中 UTF-8 编码基本成为规范,在 Windows 中则可能出现问题。上面也提到了,中文版的终端编码是 GB2312,在保证源码是 UTF-8 的情况下,又要保证终端正常显示中文,考虑到两类方法:一种是将终