常见汉字乱码全面解决方法

我们在使用电脑时,经常会遇到乱码:例如登上网站时会看到乱码,打开e-mail时也会看到乱码,更为严重的是原先显示正常的windows 9x桌面、选单中的汉字,一夜之间“面目全非”,本来显示正常的各种应用程序中的汉字也成了乱码!乱码给我们带来了太多的烦恼,告别乱码,是我们共同的愿 望!下面分类介绍消除乱码的方法。

  一、网页乱码的消除
  网页乱码是浏览器对html网页解释时形成的。如 果在网页的代码中有类似如:〈html〉〈head〉〈meta content=“text/html;charset=iso-8859-1”〉〈/head〉的语句,浏览器在显示此页时,就会出现乱码。因为浏览器 会将此页语种辨认为“欧洲语系”。
  解决的办法是,将语种“iso-8859-1”改为gb2312,如果是繁体网页则改为 big5。另一种解决办法是不修改网页代码,事先为浏览器安装多语言支持包,例如在安装ie时要安装多语言支持包,这样在浏览网页出现乱码时,就可以在浏 览器中选择选单栏下的“查看”/“编码”/“自动选择” /简体中文(gb2312),其他语言依此类推,选择相应的语系,这样可消除网页乱码现象。
  还有一种解决办法是利用多内码显示平台来转换内码。常用多内码显示平台有:
  1.“南极星”:可自动识别gb码、big5码,并能做到同屏显示gb码和big5码,对日文、韩文亦能正确显示。
  2.“四通利方”:支持包括gb、big5、hz、日韩编码、unicode等17种文字内码,也支持预览功能,并且增加了诸如“增删空格”、“插入禁排空格”等小而有用的功能,实在是网友的好帮手。
   3.“magicwin 98”:可真正地同屏显示不同内码,即gb码和big5码两者共存。它支持gb、hz、big5、jis、euc、sjis、ksc、utf7和utf8 等格式;支持netscape communicator 4.x、internet explorer和office等软件;支持在多个窗口中同时查看不同内码的文档的超级多内码显示平台。
  网页无乱码保存的方法 是:用浏览器打开网页时,在“查看”/“编码”中选择“自动选择”,存盘时保存类型选“web页”,编码选择 “unicode”。这样保存过的网页再次打开时,在浏览器选单“查看”/“编码”中不管选择简体中文(gb2312)、简体中文(hz)还是 unicode(utf-8)或繁体中文(big5),最终显示都不会出现乱码。
二、文件乱码的消除
  文本、文档文件乱码,一般是繁体中文显示在简体中文系统下或者相反情况造成的。只要把原本是繁体的内码转换为简体内码(或者相反),就可消除乱码。
  word2000就能胜任这类工作,例如要把繁体中文转换为简体中文,方法是:选择要转换内码的文件,在弹出的对话框中(如图1)选择“其他编码”中的“繁体中文(big5)”一项,打开此文件时就不会出现乱码。
图1
  无乱码保存方法:在保存时选择“文件”中的“另存为”,先存为“word”文档,存盘后打开再存为纯文本等其他格式。你也可以用word2000的“中文简繁转换”工具实现无乱码保存,方法是在选单栏中选择“工具/语言/中文简繁转换”,内码转换后、再保存。
  wps2000也能转换内码,支持gb2312、big5、gbk等三种主要的汉字编码,并可在输出rtf、txt、htm格式文件时对内码进行转换。
  除此之外,消除这类乱码还可用内码转换工具,对big5(繁体中文)和gb2312(国标码、简体中文)进行相互转换来实现。常用的内码转换工具有:
   1.“飓风简繁通”:中文自由软件、纯“绿色软件”,不用安装,把300多k的压缩包解开到硬盘的任意一个目录即可使用。软件支持普通文本、剪贴板上内 容、磁盘文件的“big5→gb”或“gb→big5”内码转换,速度很快。该软件特有“网站转换”功能:可在几分钟之内全自动地为您的网站生成一个 big5码的版本。
  2.“内码转换大师”:能够以灵活的方式选取大批文件,同时进行转换。选取的文件在转换前后随时可以直接查 看其内容。转换是直接在原文件上进行的,省去了选择目标目录、多次拷贝等繁琐的操作。独家具备:对于html文件,能够自动转换其汉字字符集定义,使之在 浏览器中浏览时自动按照转换后的代码集显示!目前支持gb2312以及big5两种代码集。
  3.“华语通”:免费软件,支持big5码与gb码双向转换,支持文本、web页、rtf等格式,可批量转换。
  4.“text robot”:支持big5与gb双向转换、big5→gbk、big5→gbk简体、gbk繁体→gbk简体等多内码转换,可将文本格式转换为web页,能进行批量内码转换。
  5.“汉字内码转换器”:免费软件,支持gb与big5的双向转换,可以批量转换,还可直接转换剪贴板内的文本,在转换文件之前,允许你先通过预览窗口实现预览转换结果。
 
 1  2  3  4  5  
  三、windows 9x系统或应用程序中乱码的消除
  这类乱码是由于注册表中关于字体部分配置不正常造成的,即使您用内码显示平台如四通利方、南极星等处理也不会消除。解决办法是:恢复注册表中关于字体部分设置。
  1.如有另一台windows 9x版本相同、显示正常的机器,则可依下列步骤进行恢复:
  (1)在正常机器上选择“开始”/“运行”,在对话框中键入“regedit”,打开注册表编辑器。
  (2)光标定位到
  “hkey—local—machinesystem rrentcontrolset ntrol ontassoc”,选择“注册表/导出注册表文件”,选择“分支”,导出该分支注册表信息到文件(如li.reg)中(如图2)。
图2
  (3)把li.reg文件拷贝到显示乱码的机器上,在显示乱码机器上运行regedit,选择“注册注册表”/“导入注册注册表”,把li.reg文件导入注册表中。
  2.如没有windows 9x版本相同、显示正常的机器,则需要您手工恢复字体部分注册表项,按以下步骤:
  (1)在乱码机器上打开regedit(regedit.exe在windows目录下)。
   (2)找到“hkey—local—machinesystem rrentcontrolset ntrol ontassoc”,正常情况下,会有associated defaultfonts、associated charset两个文件夹,其正确的内容为:
  aasociated charset目录内容:
  ansi(00)=“yes”
  gb2312(86)=“yes”
  den(ff)=“yes”
  symbol(02)=“no”
  associated defaultfonts目录内容:
  assocsystemfont=“simsun.ttf”
  fontpackagedecorative=“宋体”
  fontpackagedontcare=“宋体”
  fontpackagemodern=“宋体”
  fontpackageroman=“宋体”
  fontpackagescript=“宋体”
  fontpackageswiss=“宋体”
  (3)安装windows 98 oem版本、显示正常的机器,associated charset文件夹内容与上面有些区别,aasociated charset目录内容为:
  ansi(00)=“yes”
  gb2312(86)=“yes”
  oem(ff)=“yes”
  symbol(02)=“no”
  ssociated defaultfonts目录内容和(2)中的完全相同。
   (4)当出现汉字乱码时,上述两个文件夹中内容就会不完整,有的没有associated charset文件夹,或其中内容残缺不全;有的associated defaultfonts下内容残缺。只要用regedit在“hkey—local—machinesystem rrentcontrolset ntrol ontassoc”下,根据以上正确内容恢复即可。
 
 
 1  2  3  4  5
四、邮件乱码的消除
  1.邮件乱码原因及其排除
  邮件乱码的形成原因有以下几方面
  (1)邮件服务器不支持8位(非ascii码格式)传输
   邮件传输机制或邮件编码的不同,可能造成邮件服务器不支持8位(非ascii码格式)传输而形成邮件乱码。例如直接发送中文或二进制等非 ascii码格式的邮件(如中文双字节文件、.jpg、.exe、.zip等二进制文件)时,邮件服务器有可能无法处理,便把信件中每个字符的第八位都过 滤掉,从而造成邮件信息的失真或损坏,在收到邮件时就是一堆乱码。
  对策:在发送8位格式的文本文件时,必须事先进行编码,将文件转换为7位ascii码或更少位数的格式,然后才能保证文件的正确传送。收件人收到7位或更少位格式的邮件后,可以再转换为8位的格式,这样就可避免乱码。
  (2)收发端使用的e-mail软件和设置不同
   一般e-mail软件的“附件”功能都可以自动对信件先进行编码,然后送出。这样只要收信人使用的e-mail软件(如outlook、 netscape等)能区别信件的编码方式,就可以自动将信件解码。然而由于收发件人所用的e-mail软件默认配置不同、收发件人自己定制的一些选项不 同,系统不一定能识别出信件所用的编码方法,自然无法自动解码,这样就会出现乱码。
  对策:根据邮件中的关键字符判断编码方法,选取合适的解码软件进行解码即可避免乱码。邮件的编码方式主要有:uuencode、base64 encode、qp-encode、binhex等。
  ★uuencode:这是unix环境下的编码方式,目前很少用,大体格式为:
  begin 644 kk.zip m1g)o;2!i;&en+f)b3t!c(vee+fyc=′4n961u+g1w(%=e9″!.;w8@(#8@,3(zm,sdz,c4@, 3dy-@i296-e:79e9h@9g)o;2!f;&%b;6%i;″yf;&%b+f9u:fet……………..
  end
  特征:乱码前面含有“begin xxx”,后面是编码前的原始文件名(如kk.zip);接着是已经过编码的信件内容(如上述的乱码部分);最后一行为“end”。
  解码办法:可用becky!eudora等e-mail软件,选择编码中相应的选项就可解码;也可以在e-mail软件中保存乱码邮件,存为后缀为“.uue”格式的文件,然后用winzip解码展开。解码后就会消除乱码。
  ★base64 encode:该编码方式将3个字节(8位)用4个字节(6位)表示,由于编码后的内容是6位的,因此可避免第8位被截掉,大体格式为:
  mime-version:1.0
  content-type:text/plain; charset=″us-ascii″
  content-transfer-encoding:base64
  status:r
  sgmhqbf6pm6hsafapmk69lj0pfexb6q+sxqst6skp owrskxzsn3drlfnrmghqq0kq1+stqq6vdcx……
  特征:乱码前一般有如下几部分“信头”:content-type(内容类型)、charset(字符集)及content-transfer-encoding(内容传输乱码方式)。
  解码办法:用e-mail软件,选择编码中base64选项就可解码,解码后会消除乱码。
  ★qpencodeqp:全称“quoted-printable content-transfer-encoding”。因为这种格式邮件的内容都是ascii字符集中可以打印的字符,所以名称中含有printable。大体格式为:
  =a1a=b1z=a6n=a1i=a7=da=a6b=ba=f4=b8=f4=a4w=b1o……
  =e5==abh=a5=f3=b0=dd=c3d=b1m=aea=a1a……
  特征:内容通常有很多等号“=”,因此不需要看“信头”也可以判断是否为qp编码。
  解码办法:把邮件中类似a1a=b1z=a6n…的部分编码全部复制下来,贴到一个新的纯文本文件中,然后在文件头部加入quoted-pintable格式的文件头:
  contenet-type:text/plain;charset=″gb2312″
  content-transfer-encoding;quoted-pintable
  然后以“eml”为后缀保存文件,用资源管理器双击打开文件即可显示正确的内容。如果还有部分汉字乱码,可以用winzip对存盘后的eml文件进行解压,即可看到正确的内容。
  ★binhex:编码方式大体格式为:
  (this file must be converted with binhex4.0)
  sgmhqbf6pm6hsafapmk69lj0pfexb6qsstqq6vdcx0lf6tfit07ddw0shrw0kdqqtuqx9p2m2rlf 6p9qoz6xoie……
  解码办法:用e-mail软件对它解码;也可在e-mail软件中保存乱码邮件,存为后缀为“.hqx”格式的文件,然后用winzip解码展开,会消除乱码。
  (3)操作系统语种不同
  对于中文电子邮件,如果收信方所用的操作系统是英文环境,而且没有外挂中文系统或未切换为中文编码方式,也会出现乱码。
  对策:安装多语言支持包或使用多内码显示平台(如四通利方或南极星等),对收到的邮件,根据其使用的语种切换到相应的编码方式即可消除乱码。
  2.为了避免别人收到乱码,发信方应注意事项
  (1) e-mail软件中的正确设置
  使用英文e-mail软件应设置成:
  ▲文字设定default charset:iso 8859-1(latin1)
  ▲编码方式encoding:quoted-printable,不可选择7位(因为7位不支持中文)
  ▲字码页code page(可选):936或hz-gb-2312,以支持整字识别
  ▲邮件格式:mime
  ▲字体:宋体
  中文e-mail软件应设置成:
  ▲文字设定default charset:简体中文gb2312
  ▲编码方式encoding:quoted-printable
  ▲邮件格式:mime
  ▲字体:宋体
  outlook express中应把“简体中文(gb2312)作为默认的邮件使用语言,选择“国际设置”/为接收的所有邮件使用默认的编码。
  (2)发送前将邮件按7位格式重新编码
  在发送8位格式的文本文件时,必须事先进行编码,将文件转换为7位ascii码或更少位数的格式,然后才能保证文件的正确传送。收件人收到7位或更少位格式的邮件之后,可以再转换为8位的格式,这样就可以阅读了。
  在邮件客户端软件中的书写(撰写)选项中,设定默认自动为7位编码。
  (3)转换成合适的内码
   在e-mail软件的书写选项中,设定默认自动为7位编码。对用汉字系统编辑的中文邮件在发送前,最好在固定的签字栏中注明自己所使用的汉字码标准(如 gb2312、中文hz、gbk);使用繁体字地区的邮件作者在使用big5码撰写完邮件、发送前要转换成上述三种简体国标码中的一种形式,并在签字栏中 注明。如不转换则可能无法阅读,因为不支持big5码的邮件系统有很多。
  (4)尽量利用“附件”功能发送邮件
  因为邮件软件能够自动成功解码这类“附加”文件,因此在发送中文类邮件时应该首选这种方法。
  (5)把中文邮件以图形格式保存
  用画笔等绘图软件书写中文邮件,在图片中输入文字,然后用winzip把它压缩成zip格式,作为附件在邮件中发送,这样不管对方在何种语言平台下,都不会出现乱码。这种方法的缺点是,生成的bmp中文邮件体积太大。
  3.为排除乱码,收信方注意事项
   查找邮件:签字栏或正文中有无指明本邮件所使用汉字标准码类别的英文字符;在“查看”下拉选单中选中“语言”,随后出现的选单中会包括本系统所能支持的 全部汉字标准,在其中单击邮件中所指明的一种。如果收到的邮件中没有指明其所使用的汉字标准,则只可顺序单击,直到邮件正文显示正确为止。

コメントを残す

メールアドレスが公開されることはありません。