PHP ENV_变量:£(磅)的UTF-8编码

时间:2011-04-26 15:30:20

标签: mysql utf-8 php

我遇到了'£'字符编码的问题。 (问题:当从表单字段发送'£'并进行插入时,MySQL表中没有插入任何内容)。我在PHP代码头,服务器,MySQL上的collat​​ion / 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中没有任何内容我可以看到更改它。任何想法,还是我咆哮错误的树?

干杯

罗兰

1 个答案:

答案 0 :(得分:0)

我会写一个简单的测试来检查出错的地方。

  • echo()取出PHP中$_POST的值,验证浏览器是否正确发送数据并正确解析为PHP。当您进行此测试时,请确保浏览器已正确检测到字符集。
  • 如果可行,那么您可能会错误地配置数据库。如果您将表格排序和连接编码都设置为“UTF-8”,那么将数据保存到MySQL应该没有问题(如果SET NAMES和表格排序相同,则不会进行翻译,因此它将被正确存储在表格中。

你没有在你的问题的任何地方提到MySQL连接(只是“等”)。万一你错过的任何东西都要好好看看这篇文章How to Avoid Character Encoding Problems in PHP