我在使用jquery和php将文本插入mysql数据库时遇到问题。我有一个jquery脚本,它使用.ajax将参数传递给执行插入的php页面。结果是我的数据库中的文本看起来像这个“ÂCC”。我希望它是“* CC”。我知道这可能与UTF-8编码有关但我无法弄清楚如何修复它。我的数据库表是“utf8_unicode_ci”。有人可以告诉我,我做错了吗?
我的.ajax代码是......
var comment = "* CC";
$.ajax({
url: "php/add_riw_report.php",
type: "post",
dataType: "json",
data: { comment: comment },
});
在萤火虫中,POST来源是......
&grade=*%C2%A0CC
我在php页面顶部有这个...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
插入php代码是......
$sql = "INSERT INTO
riw_events
VALUES(
mysql_real_escape_string($_POST["comment"])."'
)";
$rs=$db->query($sql);
答案 0 :(得分:3)
必须将PDO对象配置为使用utf8 charset
$db = new PDO("mysql:host=localhost;dbname=DB;charset=UTF8");
对于Mysqli http://php.net/manual/en/mysqli.set-charset.php
$db->set_charset('utf8');