还有另一个UTF-8,PHP和Ajax帖子

时间:2012-09-05 17:51:38

标签: php utf-8

我已经尝试解决了很多天的字符编码问题而没有找到任何解决方案。

以下是发生的事情:

我在页面中有一个表单。 当我将Adobe Reader中的文本粘贴到此表单时,一切都很顺利。 当我从Preview(mac os图像查看器)复制粘贴文本时,它会变成奇怪的字符。

提交表单时,句子: salademêlée,tomates,mozzarella,basilic melon en saison et jambon cru

通过ajax函数,我可以在firebug中看到:

salade%20me%CC%82le%CC%81e%2C%20tomates%2C%20mozzarella%2C%20basilic%20melon%20en%20saison%20et%20jambon%20cru

现在,当我将此值传入Zend Controller时,为了将其保存到我的数据库,我遇到以下情况:

如果我将它icont到cp1252,那么文本会被剪切为“salade me”,就是这样 如果utf8_encode转换成:salademeÌleÌe,tomates,mozzarella,basilic melon en saison et jambon cru

如果我utf8_decode它,它会去:salade me?le?e,tomates,mozzarella,basilic melon en saison et jambon cru

如果我不进行转换,它可以工作......但是在phpmyadmin我看到:salademêlée,tomates,mozzarella,basilic melon en saison et jambon cru

有什么想法可以帮助我吗?我变得疯了!!

谢谢!

1 个答案:

答案 0 :(得分:0)

确保phpMyAdmin配置为使用UTF-8,并且数据库也使用UTF-8,以及PHP和数据库之间的连接。如果所有这些都使用UTF-8,那么你来回传递UTF-8应该没有问题。