0

我在某处的字符集配置有问题 - 需要一些帮助。

我正在使用 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;
4

1 回答 1

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。是一个很好的教程,可以帮助您开始使用 PDO。

于 2012-10-05T07:16:42.230 回答