发布网友 发布时间:2023-01-26 17:17
共1个回答
热心网友 时间:2023-06-28 06:44
汉字出现乱码有好几种情况,大致可分成四类:网页、文字、文件和档案乱码。第一类是由于港台的繁体中文大五码(BIG5)与*简体中文(GB2312)不通用造成的;第二类是Win9X/Win2K系统(选单、桌面、提示框)显示乱码,这是Win9X/Win2K登录档中有关字型的部分设定不当引起的;第三类是各种应用程式(包括游戏)本来显示中文的地方出现乱码,形成原因比较复杂,有第二类的乱码原因,也可能是软体用到的中文动态连结库被英文动态连结库覆盖造成的;最后一类是邮件乱码。
汉字出现乱码有好几种情况,大致可分成四类:网页、文字、文件和档案乱码。第一类是由于港台的繁体中文大五码(BIG5)与*简体中文(GB2312)不通用造成的;第二类是Win9X/Win2K系统(选单、桌面、提示框)显示乱码,这是Win9X/Win2K登录档中有关字型的部分设定不当引起的;第三类是各种应用程式(包括游戏)本来显示中文的地方出现乱码,形成原因比较复杂,有第二类的乱码原因,也可能是软体用到的中文动态连结库被英文动态连结库覆盖造成的;最后一类是邮件乱码。
由于楼主你没有说清楚具体是什么,所以只好写长一些了,呵呵,希望楼主有耐心看完:
(一)、网页、文字和文件档案乱码的消除
网页乱码是浏览器(如IE等)对HTML网页解释时形成的。如果在网页的程式码中有形如:〈HTML〉〈HEAD〉〈META CONTENT=“text/;charset=ISO-8859-1”〉〈/HEAD〉……〈/HTML〉的语句,浏览器在显示此页时,就会出现乱码。因为浏览器会将此页语种辨认为“欧洲语系”。解决的办法是将语种“ISO-8859-1”改为GB2312,如果是繁体网页则改为BIG5。
另一种解决办法是不修改网页程式码,事先为浏览器安装多语言支援包(例如在安装IE时要安装多语言支援包),这样在浏览网页出现乱码时,就可以在浏览器中选择选单栏下的“检视”/“编码”/“自动选择”/简体中文(GB2312),如为繁体中文则选择“检视”/“编码”/“自动选择”/繁体中文(BIG5),其它语言依此类推选择相应的语系,这样可消除网页乱码现象。
还有一种解决办法是利用多内码显示平台来转换内码。常用多内码显示平台有:“南极星”、“四通利方”、“MagicWin 98等等。
网页无乱码储存的方法是:用浏览器开启网页时,在“检视”/“编码”中选择“自动选择”,存档时储存型别选“web页”,编码选择“UNICOD”,这样储存过的网页再次开启时,在浏览器选单“检视”、“编码”中不管选择简体中文(GB2312)、简体中文(HZ)还是UNICODE(UTF-8)或繁体中文(BIG5),最终显示都不会出现乱码。
文字、文件档案乱码,一般是繁体中文显示在简体中文系统下或者相反情况造成的。只要把原本是繁体的内码转换为简体内码(或者相反),就可消除乱码。
Word能胜任这类工作,例如要把繁体中文转换为简体中文,方法是:选择要转换内码的档案,在弹出的对话方块中,选择“其它编码”中的“繁体中文(BIG5)”一项,开启此档案时就不会出现乱码。无乱码储存方法:在储存时选择“档案”中的“另存为”,先存为“Word文件,存档后开启再存为纯文字等其它格式;您也可以用Word的“中文简繁转换”工具实现无乱码储存,方法是在选单栏中选择“工具/语言/中文简繁转换”,内码转换后再储存。
除此之外,消除这类乱码还可用内码转换工具,对BIG5(繁体中文)和GB2312(国标码、简体中文)进行相互转换来实现。常用的内码转换工具有:“飓风简繁通、“内码转换大师、“华语通、“两岸通汉字内码转换器等等
(二)、Win9X/Win2K系统乱码的消除
这类乱码是由于登录档中关于字型部分配置不正常造成的,即使您用内码翻译软体如四通利方、南极星、Magic Win98、两岸通等处理也不会消除。解决办法是:恢复登录档中关于字型部分设定。
如有一台Win9X/Win2K版本相同且显示正常的机器,则可依下列步骤进行恢复:
1.在正常机器上选择“开始”/“执行”,在对话方块中键入“REGEDIT”,开启登录档编辑器;
2.游标定位到“HKEY_LOCAL_MACHINE\ SYSTEM\CURRENT CONTROL SET\CONTROL\ FONTASSOC”,选择“登录档/汇出登录档档案”,再选择“分支”,汇出该分支登录档资讯到档案(如LI.REG)中;
3.把LI.REG档案Copy到显示乱码的机器上,在显示乱码机器上执行REGEDIT,选择“注册登录档”/“汇入注册登录档”,把LI.REG档案汇入登录档中。
如没有Win9X/Win2K版本相同且显示正常的机器,则需要您手工恢复字型部分登录档项,按以下步骤:
1.在乱码机器上开启“开始”——“执行”——REGEDIT,然后回车,开启登录档编辑器;
2.找到“HKEY_LOCAL_MACHINE\SYSTEM\ CURRENT CONTROL SET\CONTROL\FONTASSOC”,正常情况下,会有ASSOCIATED DEFAULTFONTS、ASSOCIATED CHARSET两个资料夹,其正确的内容为:
子目录内容
中文Win98
中文Win98(OEM版)
中文Win2K
AASOCIATED CHARSET
ANSI(00)=“yes”
GB2312(86)=“yes”
DEN(FF)=“yes”
SYMBOL(02)=“no”
ANSI(00)=“yes”
GB2312(86)=“yes”
OEM(FF)=“yes”
SYMBOL(02)=“no”
ANSI(00)=“yes”
OEM(FF)=“yes”
SYMBOL(02)=“no”
ASSOCIATED DEFAULT
FONTS
AssocSystemFont=“simsun.ttf”
FontPackageDecorative=“宋体”
FontPackageDontcare=“宋体”
FontPackageModern=“宋体”
FontPackageRoman=“宋体”
FontPackageScript=“宋体”
FontPackageSwiss=“宋体”
同左栏
AssocSystemFont=“simsun.ttf”
FontPackage=“新宋体”
FontPackageDecorative=“新宋体”
FontPackageDontcare=“新宋体”
FontPackageModern=“新宋体”
FontPackageRoman=“新宋体”
FontPackageScript=“新宋体”
FontPackageSwiss=“新宋体”
3.当出现汉字乱码时,上述两个资料夹中内容就会不完整,有的没有ASSOCIATED CHARSET资料夹或其中内容残缺不全;有的ASSOCIATED DEFAULTFONTS下内容残缺。只要用REGEDIT在“HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\ CONTROL\FONTASSOC”下,根据以上正确内容恢复即可。
(三)、应用程式(包括游戏)乱码的消除
中文软体选单等显示介面上出现乱码,可能是由于Windows登录档中关于字型设定的资讯不正确地改变而造成的,这时候可以用上述第2点介绍的办法去解决。
如果用上法解决不了,那就是因为软体的中文连结库被英文连结库覆盖而引起的,这种现象经常发生在用微软开发工具例如VB、VC开发的中文软体上,这类软体中,选单等显示介面上的汉字都是受一个动态连结库(DLL档案)控制,而软体的这个动态连结库一般安装在Windows的System目录下,如果以后安装了某个英文软体也使用同名的动态连结库,则英文软体的动态连结库就会覆盖WINDOWS\SYSTEM下的中文软体的动态连结库,这样,执行中文软体时就会呼叫英文的动态连结库,因此出现乱码。解决办法是重新安装中文软体,恢复中文动态连结库即可。
(四)、邮件乱码的消除
1.邮件乱码原因及其排除
邮件乱码的形成原因很多,主要有以下几个方面:
(1)邮件伺服器不支援8位(非ASCII码格式)
传输邮件传输机制或邮件编码的不同,可能造成邮件伺服器不支援8位(非ASCII码格式)传输而形成邮件乱码。例如直接传送中文或二进位制等非ASCII码格式的邮件(如中文双位元组档案、图片档案.jpg、可执行档案.exe或压缩档案.zip等二进位制档案)时,邮件伺服器有可能无法处理,便把信件中每个字元的第8位都过滤掉,从而造成邮件资讯的失真或损坏,在收到邮件时就是一堆乱码。
对策:在传送8位格式的文字档案时,必须事先进行编码,将档案转换为7位ASCII码或更少位数的格式,然后才能保证档案的正确传送。收件人收到7位或更少位格式的邮件后,可以再转换为8位的格式,这样就可避免乱码。
(2)收发端使用的E-mail软体和设定不同
一般E-mail软体的“附件”功能都可以自动对信件先进行编码,然后送出。这样只要收信人使用的E-mail软体(如Outlook、Netscape E-mail等)能区别信件的编码方式,就可以自动将信件解码。然而由于收发件人所用的E-mail软体预设配置不同或收发件人自己定制的一些选项不同,所以在收到编码的信件后,系统不一定能识别出信件所用的编码方法,自然无法自动解码,这样就会出现乱码。
对策:可以用Winzip+IE来解码,方法是:把乱码邮件的内容,拷贝到剪贴簿中,然后将其贴上到记事本中,存为文字档案(例如LI.txt),再将其后缀改为.uue(改为LI.uue),点选此档案,会启动Winzip,然后启动IE,把Winzip中的001.txt档案拖到IE视窗中,就会显示邮件原来的内容,而不会看到乱码。
也可以根据邮件中的关键字元判断编码方法,选取合适的解码软体进行解码。
邮件的编码方式主要有: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:79E9#H@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解码展开。解码后就会消除乱码。
MIME/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<BR>0LF6tFit07Ddw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN……
特征:乱码前一般有如下几部分“信头”: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格式的档案头:
Conte-Type:text/plain;Charset="GB2312"
Content-Transfer-Encoding;Quoted-Pintable
然后以“EML”为字尾储存档案,用资源管理器双击开启档案即可显示正确的内容。如果还有部分汉字乱码,可以用Winzip对存档后的EML档案进行解压,即可看到正确的内容。
BINHEX:这种编码方式大体格式为:
(This file must be converted with Binhex4.0)
SGmhQbF6pm6hSafapmK69Lj0pFexb6qssTqq6vdCx<BR> 0LF6tFit07Ddw0ShRw0KDQqtuqX9p2m2RLF6p9q
oz6XOIE……
解码办法:用E-mail软体对它解码;也可在E-mail软体中储存乱码邮件,存为字尾为“.HQX”格式的档案,然后用Winzip解码展开。
解码后会消除乱码。
UTIF-7/UTIF-8:它们是UNICODE的两种转换码。
UTIF-7编码方式大体格式为:
+SGmhQbF/6pm6hSafapmK69L/j0pFexb6q+sXqsT6Skp. OWrSKXzsN3DRLFNrmGhQQ0Kq1-sTqq6vdCx<BR>0LF6tFit07Ddw0ShRw0KD QqtuqX9p2m2RLF6p9qoz6XOIE 1Py3Jvc29mdCuiBJbnRlcm5ldCBN……
解码办法:在原E-mail头加入以下资讯:
MIME-Version:1.0
Content-Type:text/plain; charset=utf-7
Content-Transfer-Encoding:7bit
插入后与字元留一空行,将邮件存为“EML”字尾,然后用Outlook即可解码,消除乱码。
UTIF-8
解码办法:在原E-mail头加入以下资讯:
MIME-Version:1.0
Content-Type:text/plain; charset=utf-8
Content-Transfer-Encoding:8bit
将邮件存为“EML”字尾,然后用Outlook即可解码,消除乱码。
(3)作业系统语种不同
对于中文电子邮件,如果收信方所用的作业系统是英文环境而且没有外挂中文系统或未切换为中文(如四通利方或南极星等)编码方式,也会无法看到中文只见乱码。所有的双位元组字元(如中文简/繁体的GB和BIG5码及日文的JIS、EUC和朝鲜文的 KSC码等)在非本语种作业系统下都会出现乱码。同样在中文简体的GB码环境下看其它双位元组字元时也只能看到乱码。
对策:安装多语言支援包或使用多内码显示平台(如四通利方或南极星等),对收到的邮件,根据其使用的语种切换到相应的编码方式即可消除乱码。
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)传送重要资讯时先发测试信
传送重要资讯时,为了确认是否无须编码即可传送正文,应该先发送测试信。而且还应确定收件人能否对附件档案进行解码。如果传送已经编码的邮件,则最好新增足够的“信头”资讯,以便收件人知道所需的解码方法。建议对UUENCODE/UUDeview编码方式用UUENCODING作信头,对Mpack编码方式用Base64 encoding作信头。
(5)尽量利用“附件”功能传送档案
几乎所有的邮件软体,如Netscape、The Bat!、 Becky! 等邮件系统附加这类非标准 ASCII码格式的档案时,附加档案通常可以自动进行“Base64”方式编码(仅对附件部分进行编码)。在用“附件”方式传送邮件之前,无需进行编码;否则适得其反。因为邮件软体能够自动成功解码这类“附加”档案,因此在传送中文类邮件时应该首选这种方法。
如果无法以附件方式传送档案,则必须在正文中传送中文或二进位制档案如果发/收件人之间远隔万里,则传送过程中,第八位将可能被截掉。这时最好先在正文中用中文给收件人发一封测试信,并了解对方能否正确收到邮件正文。如果第八位被截掉,则收件人将会看到一些乱码,而不是上述的uu/b64/Qp等格式,而且这种信件几乎不可恢复。
对策:在Netscape、Eudora或Pegasus Mail等你所使用的邮件系统中,选择其首选项或选项配置中的“Quoted Printalbe”或“MIME encoding”。
(6)选择优秀的客户端邮件软体
选择优秀E-mail收发软体可有效解决邮件乱码。
3.为排除乱码,收信方应注意:
查询邮件:签字栏或正文中有无指明本邮件所使用汉字标准码类别的英文字元;在“检视(V)”下拉选单中选中“语言”,随后出现的选单中会包括本系统所能支援的全部汉字标准,在其中单击邮件中所指明的一种。如果收到的邮件中没有指明其所使用的汉字标准,则只可按顺序单击,直到邮件正文显示正确为止(数个汉字标准中必有一个前面有“.”标记,此即您编辑器所用的汉字标准)。若使用的是Netscape,可在Option选单的Document Encode中选择相应的专案。
4.在非中文平台上中文邮件不出现乱码方法
当对方没有中文平台而开启您发的中文邮件时,就会出现乱码。解决办法有两种:
(1)用E-mail AID之类的工具
UCWIN GOLD 1.0附带的工具E-mail AID可把文字档案转换为AID格式档案,大小只比原TXT档案增加几K。写好中文邮件后,用文字格式存档,然后用E-mail AID以AID格式储存,最后把此档案连同E-mail AID一起作为附件插在信中。对方收到信后,只需执行E-mail AID开启AID格式档案即可看到汉字,不管对方在何语言平台下,都不会出现乱码。
(2)把中文邮件以图形格式储存
用画笔等绘图软体书写中文邮件,在图片中输入文字,用预设的BMP格式储存,将属性置为黑白模式(以减少BMP图片体积),然后用Winzip把它压缩成ZIP格式,作为附件在邮件中传送,这样不管对方在何语言平台下,都不会出现乱码。这种方法的缺点是生成的BMP中文邮件体积太大。
你的word文件是不是隐藏档案,前面带~等符号,这样的是word产生的临时档案;
文字格式开启是用的记事本还是写字板,在写字板中是可以调整编码的,你将编码调整为实际的格式GB2132或者GBK或其他的,在记事本中的话,你就另存为,然后选择编码。
开启方式是可以设定的,在“工具”-“资料夹选项”-“档案型别”中找到这个档案字尾,然后编辑开启方式,选择开启的程式,储存退出就可以更改开启方式。
右键快捷方式本身就有一个开启方式的选择,你怎么不用,用的时候勾上“始终使用选择的程式……”就可以了。
网路错误。
很正常的一种情况,不要在意。