jquery post向数据库添加错误的charset

时间:2012-10-05 07:12:31

标签: php jquery mysql character-encoding

我在某处遇到charset配置问题 - 需要一些帮助。

我正在使用jQuery jeditable通过php更新数据库的值。当我通过此脚本发布øæå时,数据库将填充æøå。我试过utf8_encode,但没有运气。 øæå的常规帖子可以正常使用

$(document).ready(function() {
    $('.update_pipu_comment').editable('http://lin01.test.no/save.php?update=pipu_comment',   {
        event : 'dblclick',
        submit : 'ok',
        indicator : '<img src="image/indicator.gif">',
        tooltip : 'doubleclick to edit'
    });
});
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php 
//save.php
require('config.php');
$postvalue = $_POST[value];
$id = $_POST[id];
$update = $_GET[update];

if($update == 'pipu_comment')   {
$res = mysql_query("UPDATE pinpuk SET comment = '$postvalue' WHERE id = '$id'");
}
echo $postvalue;

1 个答案:

答案 0 :(得分:1)

您可以先将字符集设置为UTF-8:

$query = "SET NAMES 'UTF8'";
mysql_query($query); // this before any insert

此外,您的代码不是SQL安全的:

$postvalue = mysql_real_escape_string($_POST['value']);
$id = (int)$_POST['id'];

作为旁注,您应该尝试转移到MySQLi或PDO。 Here是一个很好的教程,可以帮助您开始使用PDO。