win7 系统 编码 ANSI

win7 系统 编码 ANSI,第1张

对于支持 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)打开文本文档时,可以给你机会(如在页面上单击鼠标右键)选择你认为应该选择的编码方式。如下图,

我也需要解决这个问题。最终我解决了这个问题。我的解决过程是:

一、百度搜索:使用批处理,更改语言设置,得到一个相关网页,名为“[BAT]批处理自动修改区域和语言选项” (也可以用这个内容在百度进行搜索)。里面很多英文。我看懂了一部分,试用了一下,有效果。然后我为了写到这里来,我下载了浏览器的百度翻译插件,翻译得到如果如下。

二、[BAT]批处理自动修改区域和语言选项:

打开一个cmd窗口,输入:reg query "HKCU\Control Panel\International"

它会显示相关于当前系统的区域与语言选项的内容。

然后修改它们,使用形如下面的内容之一:

REG ADD "HKCU\Control Panel\International" /t REG_SZ /v LocaleName /d es-Mx /f

REG ADD "HKCU\Control Panel\International" /t REG_SZ /v LocaleName /d en-GB /f

再如,

REG ADD "HKCU\Control Panel\International" /t REG_SZ /v sCountry /d "United Kingdom" /f

这样,对于每个值,用适当的名称替换/v之后的内容,用适当的值替换/d之后的内容。

另一种可选方式是:

另一个选项是将hkcu\control panel\international配置单元导出到.reg文件,然后使用regedit/s import file.reg将其导入注册表。

导入后可能需要刷新注册表才能查看更改。这通常需要重新启动,但请尝试将以下内容作为批处理文件的最后一行添加。rundll32.exe user32.dll,updateperUserSystemParameters,1,true

三、我找到注册表项,导出为:系统默认区域与语言设置.reg,在里面添加以西文分号开头的二行注释,内容是

rundll32.exe user32.dll,updateperUserSystemParameters,1,true

这行注释我放在.reg文件的第二行,为了提醒我不要忘记在运行了这个.reg文件之后,运行一下这条命令。

四:我打开区域语言设置,将区域与语言设置修改成我需要的设置,如新加坡相关的区域与语言设置,然后,重新打开注册表中的HKCU\Control Panel\International,保存另一个REG文件:新加坡的区域语言设置.reg。

注:使用新加坡的区域与语言设置,是为了利于我在某些软件出现中文乱码时,调用新加坡的区域语言设置反而显示为中文;如果再出现问题,我再返回默认的中国中文设置。总之,在这二者之间调用:系统默认区域与语言设置.reg,新加坡的区域语言设置.reg,这两个.reg文件,双击生效。如果不当即生效,在开始菜单-运行中执行,或者在任务管理器-运行中执行,或者在命令行执行以下命令:

rundll32.exe user32.dll,updateperUserSystemParameters,1,true

(如果没效果,重启电脑。)

五、然后改写成为.bat文件,文件末尾添加以上内容是提到的指令。

注意在.bat末尾添加这一行:

rundll32.exe user32.dll,updateperUserSystemParameters,1,true

夜深,暂罢,待续。其实,最后不用.bat也方便,因为我们将要运行的指令注释在.reg文件中,从中找出复制出来运行一下。问题基本解决了。当然用批处理就全自动化了。

解决方法:

1、右键点击Bat批处理,选择编辑,然后打开,重新另存为

编码选择ANSI

即可。若以别的方式(如UTF-8)编辑了批处理,转换成ANSI格式即可;

2、下面是保存后文件;

3、打开运行后,乱码的问题解决了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/9935342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存