2011-07-14 37 views

回答

-1

你检查了字符编码它必须是UTF-8。如果它是western europian then change to UTF-8

+0

字符集编码可以是任何指定的,UTF-8是英文推荐的字符集,但是例如ISO-8859-X在拉丁美洲是标准的而不是UTF-8。这为网络应用带来了其他问题,这些网络应用已经为英语市场开发,但已经交付给非英语市场,我来自新西兰,但在巴西生活和发展,因此对我来说这是一个日常挑战 – Ryan

1

如果脚本给你那些字符,那么你有两个选择,看到字符的原样,或看到该字符的数值等效(在各种基础 - 八进制,十六进制等)。

您确定您的脚本没有尝试读取加密的邮件,并且您的脚本正常工作吗?

尝试通过您编写的函数/脚本添加一些虚拟测试数据,以查看它是否产生您期望的输出。

希望这可以帮助

0

您需要先检查电子邮件标题中的字符集编码。

一旦你做到了这一点,你再选择1 2种方法,改变字符集的HTML或更改字符集(如果可能)字符集你已经在使用(可能是UTF-8)

如果你动态地改变标题中的HTML字符集,那么你最大的问题是用户需要在他们的浏览器设置中指定正确的字符集,例如我的设置为UTF-8,但是我的电子邮件在ISO-8859-1中,所以如果我我每次看网站时都会使用这种方法,所以我需要更改我的浏览器字符集,但我的一个朋友将ISO-8859-1作为他的正常字符集,所以他不会有任何问题。

如果您将字符编码为UTF-8(例如php中的utf8_encode),则需要确保内容不在UTF-8中,否则您可能会发现编码函数会创建其他无效字符。

我处理这个问题的方式主要是解码电子邮件的MIME头,然后使用PHP中的preg_match检测正在使用的字符集,从那里运行编码为UTF-8或不。

这是一个非常复杂的活动,有时根据邮件的发件人处理邮件和各种各样的字符集,事先并不知道会使用哪些字符集,因此您需要真正理解各种字符集,如果存储它们以及它们如何最好地显示,则最好存储,然后您需要将其转换为您的应用程序和目标市场。

GOOD运气与您的应用程序

相关问题