We must accept finite disappointment, but we must never lose infinite hope. ( Martin Luther King, Jr.)

关于电子邮件乱码

上一篇 / 下一篇  2007-01-08 12:58:23

 
]:o#l;u/E:[0
Jp0Tmv(?4q&i0  本文主要介绍邮件乱码产生的主要原因及几种解决方法:绿色建筑博客Z+SB)j4K{p{B

3K!v/~ A^4\b?0  E-mail编码标准
[y5P%F8kQl.C6O0绿色建筑博客2k(X qMl
  由于一个汉字是用两个扩展 ASCII码表示,对DOS、Windows及Unix系统来说,所有英文字母及符号都是用ASCII码来代表,ASCII码只用到每个字节的前7位。而一些电脑系统在通信时不使用8-bit clean传输方式,无法处理8位的数据或把8位数据当作7位来处理,数据就会被破坏。对电子邮件来说,有时候一个邮件在送达收信人的过程中,会经过很多台主机的转发服务,这中间的主机假如有一台不能用8-bit clean的传输方式,就可能出现“乱码”。因此,不论是发送中文文本文件,还是发送EXE可执行文件、图形文件或压缩文件等二进制文件,都应该先进行编码。
5\ g#Nu%z$Q/cMb6GJ0绿色建筑博客Sd \V5J(]V4D
  1.UUencode编码绿色建筑博客@)W0HY,Mq'ch^
绿色建筑博客T {r J} ]
  在早期传送非ASCII码的文件时,最常用的便是这种UU(Unix-to-Unix encoding)编码方式。Uuencode和Uudecode分别是Unix系统中使用的UU编码和解码程序,后来被改写成为在DOS中亦可执行的程序。绿色建筑博客S8d^I8o Eh0RZ
绿色建筑博客&@@U2H's)_
  2.MIME编码
8mU0ulf6R0
"Cn Pv5S0  UU编码解决了E-mail传送非ASCII文件的问题,但这种方式并不方便。因而又发展出一种新的编码标准MIME(Multipurpose Internet Mail Extentions),它可以传送多媒体文件,在一封电子邮件中可附加各种格式文件一起送出。绿色建筑博客u(EUsZ"cF,r
绿色建筑博客/l7S5j x+_xA9J/t3}"a
  MIME定义两种编码方式:Base64与QP(Quote-Printable)。QP的规则是对于资料中的7位无须重复编码,仅将8位的数据转成7位。 QP编码适用于非ASCII码的文字内容,例如我们的中文文件。而Base64的编码规则,是将整个文件重新编码成7位,通常用于传送二进制文件。编码的方式不同会影响编码之后的文件大小。而具有 MIME功能的E-mail软件大都能自动判别你的邮件是采用何种编码,然后自动选择用QP或Base64来解码。绿色建筑博客6Zj/aR9E&I
绿色建筑博客x)P%^ fBdP:X9?'c
  MIME标准现已成为Internet电子邮件的主流。现在最常使用的电子邮件软件Eudora、FoxMail、Netscape Mail、Outlook Express和Internet Mail等都支持MIME编码标准。绿色建筑博客 [+@*of+x u%_@
绿色建筑博客2Ni+lX#DZ#q1K4H7V
  3.Binhex编码绿色建筑博客O#i5oK&^&S n

_Rv5W5s[0  Binhex的编码方式常用于Mac机器。一般PC上的电子邮件软件,亦多数支持MIME的规格,很少有支持Binhex格式的。在常用的电子邮件软件中,只有Eudora具有这种功能,可直接解读Binhex的编码。绿色建筑博客!ir"T2J:P(D-V z

l%I)o'c~@0  邮件乱码的主要原因及解决方法绿色建筑博客k,sg(L V-W.C%f

h2\GE@0  汉字邮件出现乱码的原因很多,主要的原因是Internet上的某些邮件主机不支持8位(非ASCII码格式)传输,以及因不同的邮件编码,不同设置的电子邮件收发软件,不同语种的操作系统等造成。绿色建筑博客+m~7Bde?8E#L

L5`Qs i H6wX-Gz)Ucf0  当你收到一封乱码的邮件时,应根据邮件内容中的关键字符,判别其编码方法。不同的乱码,在不同的平台上有不同的解决方法,因此解码前必须先看一下文件的内容,根据特征对文件可能的编码方式(Uuencode、Base64 encode、QP-encode或其它编码方式)进行判断。绿色建筑博客7F\x AU@

;Q Q;c+@8Lt0  1.Uuencode“乱码”
)d.Qm;c#^3M$F0
"Xkt6GET~p0  Uuencode编码主要来自Unix系统环境的使用者,目前,使用者已经很少。这种软件内部所用的算法为base64。其格式与Base64 encode格式非常相似,它们的差别仅仅在于“信头”部分的不同。绿色建筑博客(@@A(Xqm
绿色建筑博客1bF(N@0ul _j
  Uuencode“乱码”大体格式为:
_f9i-y#d0
#MH D?4I'U;PL]_0  begin 0600 index.gb
5a!vM K%EE/Z!AQ0绿色建筑博客K[T_%Q1]q
  MH;ZQOL2_PKS#O]3"N/S0PM*[M,ZAOPJCJ,G/U,+2U,"TM<30PM3VN_*XQ+:O …… end绿色建筑博客cd:i$wrCfc8wz

$_*DH0LSN0  在乱码前面含有“begin xxx”,后面紧接着编码之前原始文件的名称。接着是已经Uuencode编码的邮件的内容。在乱码内容后面,即最后一行为“end”。
U x.nNzu|0
NJDH#S"JFa0  如果你电脑上的的邮件收发软件不支持UU解码,那么你看到的就是这些Uuencode“乱码”。绿色建筑博客)ti1W| u@%y-U
绿色建筑博客%Gm ?1hQ#S ?"jdp
  解决Uuencode“乱码”的办法:绿色建筑博客6T gatnu f,a E

"rD'W4|m/eqH0  将Uuencode“乱码”邮件转寄到自己的邮箱中,再使用能够支持UU解码的电子邮件接收程序(如Eudora、OutLook Express等)来接收该邮件。
$y^'Oop V J0A3]0
l*q#OH1Zk;C-xJ0  通过剪贴板将Uuencode“乱码”存入文本文件,改文件名后缀为UUE,然后使用Winzip解码。
IceV#n0o@:F0将Uuencode“乱码”存入一个文件,然后在DOS下用uudecode.exe程序将文件解码。
i'm}9RY8g_C y0绿色建筑博客0].[r)aoh
  将 Uuencode“乱码”存入一个文件,然后在Windows下用Wincode解码。绿色建筑博客lwv nTQ/Ja
绿色建筑博客,mj'y.er#{ t
  Wincode除支持UU编码外也支持MIME、Binhex等编码格式,应用范围颇为广泛。绿色建筑博客 Ja v.E4`5v7[f

?uZ%wt9xa0  2.Base64 encode“乱码”
9j*QcU_ K3GJ$[C0绿色建筑博客(P"qLq[ h m4W
  Base64是MIME标准编码之一。Base64 encode编码方式是将3个字节(8位)用4个字节(6位)表示,由于编码后的内容是6位的,因此可以避免第8位被截掉。Base64 encode“乱码”大体格式为:绿色建筑博客i9Y4U x lI9@M

9x'v.G9?~|PJ,|0  MIME-Version:1.0绿色建筑博客5@(i"wUg)}O A H
绿色建筑博客ML(RR PGV
  Content-Type:text/plain; charset="us-ascii″
&[b N;XbE:E9ro0
x j3r-ZLW'co0  Content-Transfer-Encoding:base64
1`7g^HM0绿色建筑博客m#A4Y)nxn]`
  Status:R yrE68shis+o/IMTcsrvE3Ljmy9/L47YEzajRtrX-Y1re6zbYnu7Chow0LDQo=3d
,`,x1rF D5KJ7W(fI0
-qzgS-B0  在Base64编码邮件的乱码前一般有如下几部分“信头”:Content-Type(内容类型)、charset(字符集)及Content-Transfer-Encoding(内容传输编码方式)。绿色建筑博客{;GG/c6G^]

T7CP#m O9d0  如果你的电子邮件接收程序不支持Base64解码,那么你看到的就是这些Base64 encode“乱码”。
5[Z\xI\7y0绿色建筑博客{J m k;A~x+f
  解决Base64 encode“乱码”的办法:
(@;m[)n g+?c_0
&lO0o%k0Gwwy0  将Base64 encode“乱码”邮件存成一个文本文件,改文件名后缀为.UUE,然后使用 Winzip 解码。
j$sit^0
&Q u:nB5E'Ie0  将Base64 encode“乱码”邮件存成一个文件,将文件后缀改为.EML,由OutLook Express 打开,就可以自动解码。绿色建筑博客3@ w-g;]!tG/B%N
绿色建筑博客m8L%EQP9a/vudM
  3.QP-encode“乱码”绿色建筑博客^b W~-cN#N7@t-A
绿色建筑博客uT&N$X | dvP J
  QP-encode(Quoted-Printable Content-Transfer-Encoding)是MIME标准编码之一。由于用这种格式表示的信息,其内容主要都是 ASCII字符集中可以打印的字符,因此名称中含有printable。QP编码的方式,是将一个字节用两个16进制数值表示,然后在前面加“=”。QP-encode“乱码”大体格式为:=d2=bc=b3=b8=d5=db=c4=c4=bc=d2=b5=f6=b1=e5=c9=e7=b6=f8=b0绿色建筑博客#pzWtp%L-Q
绿色建筑博客F+h4TK9?%K4c&`VM Z)V}
  采用QP编码方式的邮件很容易进行判别,因为它的内容通常有很多等号“=”,因此不需要看“信头”也可以判断是否为QP编码。
Z&P*WKnDh0绿色建筑博客7yZ)b#L8B|5v9xQ-[
  如果你的电子邮件接收程序不支持QP解码,那么你看到的就是这些QP-encode“乱码”。绿色建筑博客4DesA\r!Q

PxV_Bvs0  解决QP-encode“乱码”的办法:
;L,kq$U j3H-a*H0
8ay&L^Nk$C^ S9\n0  将QP-encode“乱码”邮件转寄到自己的邮箱中,然后用支持QP解码的电子邮件接收程序(如Netscape mail、Eudora、OutLook Express、Becky等)来接收该邮件。绿色建筑博客:| d3bEK%e

njH$oOFHa0  使用Winzip对Quoted-Printable解码。必须注意:
1_P r,PUf^#L0
(tL1py*x1W#{4n0  (1)在邮件信头中检查、添加这样两行:Mime-Version: 1.0Content-Transfer-Encoding: quoted-printable;绿色建筑博客?g3Fu~ KQ ?:u

+oA X}.b ja0  (2)信头中间不要空行,信头和信体之间要有一个空行。这样形成的文件,改后缀名为UUE,即可双击启动Winzip得到解码。绿色建筑博客W1|*V OT/f,NR5J

/Z*F"W2hPt wy0  4.HZ中文乱码
EEdy5c m8eZ(H2r0绿色建筑博客Ia$@o^ x!G
  由于我们可能使用不同的电子邮件收发软件,因此,来往的邮件内容可能包含着看不懂的乱码,例如,如果看到下面这串乱码,你一定看不懂它的意思:HZ- ~{Q'Hm<~!"SCHm<~!"BrHm<~5D:C0iBB~}
x8I$qx_%p0绿色建筑博客T:Go ux6w}h
  实际上这是一串“简体中文HZ”编码,如果使用Outlook Express发送邮件时,选用HZ编码,而邮件的接收者使用Eudora来阅读邮件,看到的就是这些乱码。正确的方法是,在撰写邮件窗口中,选择“格式”菜单下的“语言”命令,并选中“简体中文(GB2312)”项,然后发送邮件。
-^k&W5C^:b,FF8d8G'\8o0
y:D5RS/X2T0  这时,如果你使用Outlook Express,可以打开“查看”菜单,点击“语言”选项中的“简体中文(GB2312)”项,或者点击工具栏上“语言”后面的向下箭头,选择“简体中文(GB2312)”功能项,屏幕出现一个对话框,单击“是”按钮,应用新的字符集。绿色建筑博客3odq2{N2z4v.u }

~u|;sK,t5FJV{;}0  如果你使用Eudora之类的软件,可以使用“南极星”之类的软件,自动转换不同的汉字编码。如果还看不到的话,可将这些编码文本,拷贝到一个文本编辑器中。绿色建筑博客 E~%k7Pq*vlen
绿色建筑博客I5LV \d%{` J.aA
  5、“半个汉字”乱码
.Fz7eW |R0绿色建筑博客.{B8F'N-s1U7kl+B
  汉字的另一个问题是所谓的“半个汉字”乱码。如下面这串乱码:“把砑⒂萌砑⒙蛉砑暮冒槁隆薄* ”
^M5Ya{)^0绿色建筑博客.k;Z"[.OG;E
  由于很多英文编辑软件以字符为单位来处理文本,汉字被删除一半后,剩余的部分会和相邻的汉字重新组合,使得文本面目全非。因此,除了在输入、删除的时候注意这种问题外,还要注意不要在英文字处理软件中轻易使用“字符替换”功能,这往往会把一个汉字的后一个字符和相邻汉字的前一个字符当成一个汉字被替换掉。
,J t0C Z^?*N0绿色建筑博客M A1\"AVt {'k
  对于“半个汉字”乱码,只要将“乱码”邮件存成一个文本文件,然后使用以字符为单位的编辑软件,将“乱码”行的首字符删除,后面的部分就会和相邻的“乱码”重新组合成可识别的汉字。
x A0q;L0z]1v3{n0
{)_y(qF.w"kn1ha.\0  如果上述方法不能奏效,那么只好告诉对方正确的发送方式,请对方重新发一份邮件给你。绿色建筑博客YlTS7T`

+q!oj Z4fVv0  三、避免乱码的方法
.o},r Qs+P1s:]0
gK-w3x,nPlYhP0  现在你已经知道乱码产生的原因和解决办法,希望你在发送邮件时也多为他人着想,别让美好的心愿变成一堆乱码。
AmvMmw\6D+Ck0
W%d wQK8`G0  1.选用大众化的邮件收发软件绿色建筑博客Dawx&g$@pE

Vgi|2Vq2m x`B0  由于不同的电子邮件收发软件支持的编码有所不同,收件人和发件人自己定制的一些选项也会各不相同,所以在收到编码的信件后,系统不一定能识别出邮件所用的编码方法。识别不出编码方法,系统自然无法自动解码,这样当你查看信件内容时,就会出现所谓的乱码,使收信人无法阅读该文件。选用大众化的电子邮件收发软件则可以在一定程度上避免不同的编码方法。绿色建筑博客6E,@M)U `t

i h PL(bQH*{4eI ^0  2.使用“附件”功能发送文件
"m _(Gb.`] sN'kY0绿色建筑博客)XOO"]f(U
  一般电子邮件收发程序的“附件”功能可以自动对邮件先进行编码,然后再发送。如果收信人的电子邮件收发程序(如Netscape mail、Outlook Express、Eudora、Pegasus等)能够区别邮件的编码方式,则可以自动将邮件解码。绿色建筑博客8Q%A)O&S(V}
绿色建筑博客lJMP k0Fqi
  3.发送重要信息时先发测试信息
ICrt*r8q.E5w0
;eq m|+lsp l |0  发送重要信息时,为了确认是否无须编码即可发送正文,应该先发送测试信。而且还应确定收件人能否对附件文件进行解码。如果发送已经编码的邮件,则最好添加足够的“信头”信息,以便收件人知道所需的解码方法。绿色建筑博客stC2_(r@

1E3R0d2Q8Llb8FE0  如果你经常收到由国外发来的邮件,最好事先约定好,使用相同的操作系统;或者全部使用英文信件交流,因为这些操作系统都支持英文,不会产生乱码。
\8vt]H0
+@;y*^*M,s0  4.不使用邮件收发软件的特殊编辑功能绿色建筑博客R:rXzyI*wY _
绿色建筑博客/Y k c a i8ZT
  如Outlook Express邮件编辑器是个功能很强的HTML编辑器,你可以编辑五颜六色、各种字体的电子邮件。不过,如果接收方不使用Outlook Express来接收邮件,可能收到的是不易读的HTML源码。解决的方法是,在撰写邮件时,选择“格式”菜单下的“纯文本”选项。如果要将发送格式的缺省值设置为“纯文本”,那么,在Outlook Express主窗口中,打开“工具”菜单,选择“选项”,出现选项设置对话框。单击“发送”选项卡,将邮件发送格式设置为“纯文本”。
%t {v%A|d0
原文出处

TAG: email 乱码

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar