我遇到的情况是我收到一些包含多字节序列的电子邮件,例如= E2 = 80 = 90。我解析这些电子邮件并将它们粘贴到MySQL数据库中。
最初我注意到上面提到的序列并尝试使用quoted_printable_decode。这不起作用,因为它只是卡住欧元符号(而不是我期待的撇号)。如果我使用UTF_encode它不起作用。我想了一些utf8_encode和iconv()的序列,但说实话,我只是四处乱窜。我之前没有做过任何外国字符处理,因此我希望有人能指出我的解决方案。
我使用的是PHP 5.6和MySQL 5.6。 MySQL表启用了UTF-8。
答案 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');
我希望这有帮助!