【发布时间】:2011-05-08 10:19:00
【问题描述】:
我有一段文字: " Csuklási roham gyötörheti a svédeket, annyit emlegetik mostanság ismét a svéd modellt Magyarországon。"
在那个原始文本中根本没有换行符。
当我通过电子邮件发送此文本(使用 gmail)时,我将其编码如下:
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Csukl=E1si roham gy=F6t=F6rheti a sv=E9deket, annyit emlegetik mostans=E1g =
ism=E9t a
sv=E9d modellt Magyarorsz=E1gon.
在 HTML 中:
Content-Type: text/html; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
<span class=3D"Apple-style-span" style=3D"font-family: Helvetica, Verdana, = sans-serif; font-size: 15px; ">Csukl=E1si roham gy=F6t=F6rheti a sv=E9deket= , annyit emlegetik mostans=E1g ism=E9t a sv=E9d modellt Magyarorsz=E1gon.
....
当我尝试将电子邮件正文解析为文本/纯文本时,我无法摆脱“mostans=E1g =”中的 = 符号 ism=E9t" 在两个词之间。请注意,HTML 编码的消息中缺少相同的字符。我不知道那个特殊字符可能是什么,但我需要消除它才能取回原始文本。
我尝试替换'\n',但不是那个,如果我在文本中按'Enter',我可以正确地将它替换为我想要的任何字符。我也试过'\r'和'\t'。
所以问题是,我错过了什么?那个特殊字符是从哪里来的?是因为字符和/或传输编码吗?如果是这样,我该怎么做才能解决问题并取回原文。
欢迎任何帮助。
干杯, 巴拉兹
【问题讨论】:
标签: java string email encoding