我遇到了'£'字符编码的问题。 (问题:当从表单字段发送'£'并进行插入时,MySQL表中没有插入任何内容)。我在PHP代码头,服务器,MySQL上的collation / char等设置上检查了UTF-8支持的所有内容。
我正在使用MAMP作为我的开发环境(PHP 5.3.5)。
我的生产服务器(商业主机)上的一切正常(PHP 5.2.6),所以我排除了代码的任何问题
但是,我认为我已经找到了罪魁祸首:在比较两种环境时,我的开发服务器中缺少这一行:
_ENV [“HTTP_ACCEPT_CHARSET”] ISO-8859-1,utf-8; q = 0.7,*; q = 0.3
但是,php.ini中没有任何内容我可以看到更改它。任何想法,还是我咆哮错误的树?
干杯
罗兰
答案 0 :(得分:0)
我会写一个简单的测试来检查出错的地方。
echo()
取出PHP中$_POST
的值,验证浏览器是否正确发送数据并正确解析为PHP。当您进行此测试时,请确保浏览器已正确检测到字符集。SET NAMES
和表格排序相同,则不会进行翻译,因此它将被正确存储在表格中。你没有在你的问题的任何地方提到MySQL连接(只是“等”)。万一你错过的任何东西都要好好看看这篇文章How to Avoid Character Encoding Problems in PHP