对于支持 UNICODE的应用程序,Windows 会默认使用 Unicode编码。对于不支持Unicode的应用程序Windows 会采用 ANSI编码 (也就是各个国家自己制定的标准编码方式,如对于西欧文字有ISO/IEC 8859编码,对于简体中文有GB 18030编码,对于繁体中文有BIG-5等),Windows 对于不支持Unicode的程序默认只能使用一种ANSI编码(实际上Windows所做的是通过所选择的默认代码页(Code Page), 将 ANSI编码翻译成Unicode)。英文版的系统应该是默认使用的是ISO/IEC 8859编码,所以当运行采用GB 18030编码的中文软件时会出现乱码。
想要更改默认使用的编码方式,可尝试以下步骤,
-
打开 控制面板(Control Panel)
-
打开 时钟、语言和区域 (Clock, Language and Region)
-
点击 区域 (Region)
-
选择 格式(Format) 选项卡,并将格式 改为 Chinese (Simplified, China) (这个其实可以不改,看你的喜好,更改此处会更改时间显示方式如 把日期 改为 YYYY/MM/DD 等,有些程序会通过此项来选择所显示的语言。重点的从第五步开始)
-
然后 点击打开 管理(Administrative) 选项卡
-
点击 更改系统区域设置 (Change system locale...) 按钮 (若出现用户账户控制对话框,请选择“允许”或“是”或者“确定”)
-
将区域设定 改为 Chinese (Simplified, China) 然后 点击确定,并重新启动计算机。
另外对于你说的txt文件。Windows 自带的记事本(Notepad.exe)会默认采用 ANSI 编码来处理文本文件,这也是由于大部分的文本文件都是用的各国自己的编码标准写成的。这个ANSI 编码的具体编码方式,也会因上面所讲述的设置变化而有所改变。若想要摆脱不同的 ANSI 编码所产生的困扰(如在中文的系统上写的TXT文档要在日文的系统上打开经常会出现乱码),可以在保存文本文件时 选择采用 UTF-8 (单字节8位的Unicode编码)。
另外,通过 Web浏览器(如 Internet Explorer)打开文本文档时,可以给你机会(如在页面上单击鼠标右键)选择你认为应该选择的编码方式。如下图,
谢谢您详细的回答,不过我的系统区域设置已经是 Chinese (Simplified, China) 了。所以乱码的问题应该于此无关了。
那您具体是哪里出现的乱码?方便发个图吗?
如上所说,Windows 在处理文字时,会将ANSI编码转换成Unicode编码。这回使一些原因ANSI编码不兼容而出现的乱码因已转成Unicode,使其即使在系统已改成正确ANSI设置后依然无法恢复。
例如 “你好”的GB2312编码的文本,采用西欧编码解码的话会变成ÄãºÃ. 这时,系统可能会认为ÄãºÃ就是正确的字符,并将其记录成Unicode编码的文本,这样会导致它会一直保持ÄãºÃ状态。
所以对于这种已经定型的乱码(往往出现在,快捷方式,文件名等处),需要,将其复制到Word中,然后将其另存为成*.txt文件,然后在保存时,选择西欧编码方式。然后再用 GB2312 打开文本文件,就可恢复文本文件的内容。