$ __ POST [string]接收unicode字符串失败

时间:2012-02-04 05:40:30

标签: php mysql

无法执行查询语句第1行的列'member'的字符串值不正确:\x96\xBC\x91O\x82\xCD...。 这是代码。

    $member=stripslashes($_POST["membername"]);
    $link=mysql_connect(localhost,$username, $password) or die("unable to connect to database ".mysql_error());
    mysql_set_charset('utf8', $link);
    mysql_selectdb($database) or die("unable to select db ".mysql_error());

    $query="SELECT*FROM members";
    $result=mysql_query($query);

    $rowNum=mysql_num_rows($result)+1;
    $query="INSERT INTO members VALUES ('$rowNum','$member','$memberemail','$memberpass','$memberRegDate','$memberRegDate','$memberIP')";
    mysql_query($query) or die("Unable to perform the query statement. ".mysql_error());

EDIT;我已经改变了我的数据库

ALTER DATABASE users CHARACTER SET UTF8 COLLATE UTF8_UNICODE_CI;

ALTER TABLE members CHANGE name name varchar(100) character set utf8;

1 个答案:

答案 0 :(得分:0)

那不是UTF-8。您应该查看请求中的HTTP标头,以查看正在使用的字符集,并进行适当的转换。

>>> print '\x96\xBC\x91O\x82\xCD...'.decode('cp949')
뼹멟궼...