我们在操作电脑的时候,经常会遇到汉字乱码,例如打开“写字板”,里面的文字是一塌糊涂,中英文、乱码三足鼎立;玩游戏时菜单也一片乱码,让你不知所措;至于电子邮件乱码,那就更常见了,大家可能都遇到过。为了消除这些乱码,你可以采取下面的措施:
一、消除Windows系统乱码
如果Windows注册表中字体部分的配置不正常,就会导致系统乱码,例如Windows桌面、菜单、对话框等出现乱码,“写字板”、中文应用软件的界面和菜单也会乱码。对付这类乱码,你用内码翻译软件(如南极星、MagicWin98等)是无法消除的,建议采用以下两种方法消除:
1、导入注册表法
找到一台无乱码电脑(要求其上的Windows版本与乱码电脑相同),在无乱码电脑上单击菜单“开始”/运行,键入REGEDIT打开注册表;定位到关于系统字体的项目处HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc,单击“文件”菜单下的“导出”,导出范围选择“分支”(图1),把该分支注册表信息导出到文件(例如LI.REG)中;
图 1
接下来把LI.REG文件COPY到乱码电脑上,然后在乱码电脑上打开注册表,选择“文件”/“导入”,把LI.REG文件导入注册表中,最后重启电脑即可。
2、手工修复注册表法
如果找不到无乱码电脑可以利用,你可以手工恢复乱码电脑的注册表,只需恢复字体部分注册表项即可,操作步骤如下:
在乱码电脑上单击菜单“开始”/运行,键入REGEDIT打开注册表;定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FontAssoc,正常情况下,会有Associated Charset、Associated DefaultFonts两个目录,当出现汉字乱码时,下表两个目录中内容就会不完整,有的没有Associated Charset目录、或其中内容残缺不全;有的Associated DefaultFonts下内容残缺。只要你检查下表中的两个目录,根据表中的正确数据恢复注册表即可。
Associated Charset目录 | Associated DefaultFonts目录 | |
中文WinXP或Win2K 下正确内容 |
ANSI(00)="yes" OEM(FF)="yes" SYMBOL(02)="no" |
AssocSystemFont="simsun.ttf" FontPackage="新宋体" FontPackageDecorative="新宋体" FontPackageDontcare="新宋体" FontPackageModern="新宋体" FontPackageRoman="新宋体" FontPackageScript="新宋体" FontPackageSwiss="新宋体" |
中文Win98 下正确内容 |
ANSI(00)="yes" GB2312(86)="yes" DEN(FF)="yes" SYMBOL(02)="no" |
AssocSystemFont="simsun.ttf" FontPackageDecorative="宋体" FontPackageDontcare="宋体" FontPackageModern="宋体" FontPackageRoman="宋体" FontPackageScript="宋体" FontPackageSwiss="宋体" |
二、消除应用程序(包括游戏)乱码
当你运行某些中文软件时,假如菜单等显示界面上出现乱码,你用上面的方法却不能消除,那就可能是软件的中文链接库被英文链接库覆盖引起的,这类乱码经常发生在用微软开发工具(例如VB、VC)开发的中文软件上。
因为你开发的这类软件,菜单等显示界面上的汉字都是受一个动态链接库(DLL文件)控制,这个动态链接库一般安装在Windows\System目录下,如果你以后安装了某个英文软件也使用同名的动态链接库,则英文软件的动态链接库就会覆盖原来的中文动态链接库,这样,运行中文软件时就会调用英文的动态链接库,因此出现乱码。解决办法是:重新安装一下中文软件,恢复中文动态链接库即可。
如果以上方法也无济于事,那就说明软件使用的内码与系统的语言编码不一致,对于Win9X/ME系统,只需安装MagicWin98(下载地址http://www.skycn.com/soft/3047.html)、南极星等内码转换软件,即可消除乱码;对于WinXP系统,建议你使用微软多语言支持工具MicrosoftAppLocale(下载地址http://www.skycn.com/soft/12582.html),利用它为指定程序设置相应的语言区域,这样你同时执行简繁体、日文软件也不会发生冲突。
三、消除网页上的乱码
如果网页上出现乱码,那可能是浏览器(如IE)对网页语种辨认错误造成的。例如明明是中文网页,IE却选择了“欧洲语系”编码,因此网页上乱码就出现了,解决办法是:
在IE中点击“查看”菜单下的“编码”,选择“简体中文(GB2312)”(图2),或者其他编码的简体中文;如果是繁体网页,则改为“繁体中文(BIG5)”,如果是其他语言,在“其他”菜单项下选择相应的编码。
图 2
四、消除链接Access文件的乱码
由于国外的免费主页空间容量大、而且支持ASP,于是许多朋友都使用这类主页空间,不过国外的ASP服务器一般不支持中文数据库,因此假如你的网页上有一个链接指向Access数据库文件,当你点击该链接打开Access文件时,文件中的中文内容就会显示乱码。
为了消除这种乱码,你可以在链接数据的那个文件中加入下面的句子:
<%@ language="vbscript" codepage="936" %>
假如还不能消除乱码,请将你的数据库版本改为Access97,这样即可让国外ASP服务器支持中文数据库,从而消除乱码了。
五、消除电子邮件乱码
收到对方编码后的信件,如果你使用的EMAIL软件(如OUTLOOK、Foxmail等)不能识别出信件所用的编码方法,自然就无法自动解码,这样就会出现邮件乱码。
解决办法:在Outlook2003/XP中,你可以选择“视图”菜单下的“编码”,随后出现的菜单中会有全部的汉字编码标准,你可以选择一种,顺序单击选择、直到邮件正文显示正确为止;Foxmail中,你可以点击菜单“查看”/编码,操作方法类似。
如果对方使用非中文Windows,你要给他发中文邮件,希望对方能看到你写的中文、而非乱码,可以这样操作:用画笔等绘图软件书写中文邮件,在图片中输入文字,将属性置为黑白模式(以减少图片体积),然后用GIF格式保存,用WINZIP把它压缩成ZIP格式,作为附件在邮件中发送,这样不管对方在何语言平台下,都不会出现乱码。