PHP中的多字节处理

时间:2015-03-15 15:58:00

标签: php utf-8

我遇到的情况是我收到一些包含多字节序列的电子邮件,例如= E2 = 80 = 90。我解析这些电子邮件并将它们粘贴到MySQL数据库中。

最初我注意到上面提到的序列并尝试使用quoted_printable_decode。这不起作用,因为它只是卡住欧元符号(而不是我期待的撇号)。如果我使用UTF_encode它不起作用。我想了一些utf8_encode和iconv()的序列,但说实话,我只是四处乱窜。我之前没有做过任何外国字符处理,因此我希望有人能指出我的解决方案。

我使用的是PHP 5.6和MySQL 5.6。 MySQL表启用了UTF-8。

1 个答案:

答案 0 :(得分:0)

尝试iconv之类的:

echo iconv("ISO-8859-2", "UTF-8", quoted_printable_decode("=E1=E2"));

此外,您应该set up the HTML and MySQL encoding

header('Content-Type: text/html; charset=UTF-8');
// After MySQL connect:
mysql_set_charset('utf8');

我希望这有帮助!