针对上文提到的wampserver的配置文件修改过程中文本出现乱码的情况,给出解决建议。
省流版:【另存为】;修改字体(文中未给出);修改【注册表】
一、Win10与Win11记事本对于字符编码的操作
Win10和Win11的记事本操作相同。
1、打开文件,查看当前的字符编码。
2、点击[另存为],选择字符编码进行保存。
除了另存为,也可以使用第三方程序转换,如vscode打开,选择内容检测的编码:
那么,问题来了,我能不能将记事本设置为默认字符编码,比如ANSI或者UTF-8 ?
二、将记事本设置为默认字符编码
在Win10上操作有效(作者水平有限,尚未在Win11解决)
打开注册表,打开路径:
计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Notepad
1 代表–> ANSI
2 代表–> UTF-16 LE
3 代表–> UTF-16 BE
4 代表–> UTF-8 with BOM
5 代表– > UTF-8
该步骤也可直接运行文本进行设置:
1、新建记事本,文件名及后缀为:Notepad.reg
2、直接复制粘贴到记事本里,保存退出,双击运行即可
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Notepad]
"iDefaultEncoding"=dword:00000001
此处因为要改为ANSI,所以是00000001。
如果是UTF-16 LE,则改为00000002。以此类推
也可以花点时间右键导出来验证
在开始处打开空的重新打开空的记事本即可。但也存在一些情况依旧是utf-8,例如右键新建文本文件时,依旧是UTF-8。抱歉目前还没办法改过来。
三、全局修改系统字符编码
全局修改系统字符编码适用于特定需求,以下方法谨慎使用。
方法一:设置为系统默认编码(需重启电脑)
1、检验当前的系统默认的编码,在cmd输入chcp命令
936、65001 表示字符编码代码页
windows中,页面编码集一览 (chcp code)-CSDN博客https://blog.csdn.net/sxzlc/article/details/106270405
2、按照图片步骤设置系统默认编码
需要进行重启才生效。重启后,65001代表的是UTF-8
注意:这种方法对于新建的记事本有效,对于已有的文本文件无效,也就是不能解决乱码问题。
方法二:通过命令行暂时设置为指定字符编码
在cmd中输入chcp 65001,即设置为UTF-8。此时修改的是当前窗口的字符编码,系统默认的字符编码并没有改变。
方法三:修改注册表进行永久修改。
这里也分为两个修改方式,选其一即可。
第一种:
1、打开注册表,打开路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
2、右键[新建],选择[字符串值]。名称填写[autorun],如图:
什么是AutoRun?简称:自动运行,作用是可以自动运行一个程序或打开文件。
3、数值数据填写chcp 65001
这样就自动把编码格式设置为UTF-8
4、关闭注册表,打开cmd输入chcp进行检验,可以看到当前的活动代码页为65001
第二种:
1、打开注册表,打开路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
2、找到OEMCP,双击,将数值数据改为65001
3、打开cmd输入chcp命令进行检验:
参考文章:
以上,这是解决乱码问题的一些建议,出现乱码也算是Windows系统不够完善的一个体现。文章如有不足之处请指正。