Windows 一条命令开启 UTF-8(使用 Unicode UTF-8 提供全球语言支持)
手动开启步骤
- 【控制面板】->【更改日期、时间或数字格式】->【管理】->【更改系统区域设置】;
- 勾选【Beta 版:使用 Unicode UTF-8 提供全球语言支持】;
- 重启。
原理
开启【Beta 版:使用 Unicode UTF-8 提供全球语言支持】本质上是修改注册表的 3 个键的值为 65001:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage 下的 ACP、MACCP 和 OEMCP;
这 3 个键含义分别如下:
ACP:ANSI Code Page,Windows 系统默认的 ANSI 代码页,用于 Win32 API 的 ANSI 版本(如CreateFileA等以A结尾的 API);MACCP:Mac Code Page,Macintosh 系统兼容用的代码页,用于与 Mac 系统的字符编码兼容;OEMCP:OEM Code Page,原始设备制造商代码页,主要用于控制台(CMD)、批处理文件和 MS-DOS 兼容程序。
一条命令开启🌟
以下两种都需要以管理员身份执行。
建议修改完后立即重启系统。
Windows Powershell 和 Powershell 都行。
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage" -Name "ACP" -Value "65001"; Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage" -Name "MACCP" -Value "65001"; Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage" -Name "OEMCP" -Value "65001"reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v ACP /t REG_SZ /d 65001 /f && reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v MACCP /t REG_SZ /d 65001 /f && reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v OEMCP /t REG_SZ /d 65001 /f恢复
语言不同,这 3 个注册表键的默认值就不同,以下以中文为例,具体可根据情况修改。
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage" -Name "ACP" -Value "936"; Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage" -Name "MACCP" -Value "10008"; Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage" -Name "OEMCP" -Value "936"reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v ACP /t REG_SZ /d 936 /f && reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v MACCP /t REG_SZ /d 10008 /f && reg add "HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v OEMCP /t REG_SZ /d 936 /f本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 狼魔宇!
评论

