mysql_real_escape_string('碶');乱码怎么解决。

解决方案 »

  1.   

    你指的是:
    Warning: Unexpected character in input: ''' (ASCII=39) state=1 in D:\documentRoot\ad.php on line 8Warning: Unexpected character in input: '\' (ASCII=92) state=1 in D:\documentRoot\ad.php on line 8Warning: Unexpected character in input: ''' (ASCII=39) state=1 in D:\documentRoot\ad.php on line 8Notice: Use of undefined constant ?- assumed '? in D:\documentRoot\ad.php on line 8么?
      

  2.   

    echo mysql_real_escape_string('上海一碶');
    echo mysql_real_escape_string('上海');这二个你对比一下。
      

  3.   

    我这没问题,php5.1.2
    注意保证文件的编码和你set names设置的编码一致。
      

  4.   

    我这文件编码和set names设置的编码都是utf-8。
      

  5.   

    设置一下字符集。
    mysql_set_charset('utf8', $conn) or die('set charset failure.');
    然后再显示就ok了,
      

  6.   

    我用GBK的。。后台,连接,数据库都是GBK的
      

  7.   

    那你设置成gbk应该就可以了呀
      

  8.   

    可以的话转utf-8吧,mysql_real_escape_string处理utf-8编码数据会安全一些。
      

  9.   

    在 gbk 环境中,其实你执行
    echo '碶';
    就要报错的
    对于 GBK 编码
    碶 的第二个字节的内码为 0x5c 正好是反斜杠“\”的内码。而他恰好出现在串尾,所以会出现问题。
    这种包含特殊字符的汉字共有十几个
    没有特别好的处理方法,你可以在处理时在串为加一个空格对于 utf-8 编码,就没有问题了
      

  10.   

    再顶顶。有没有好办法解决GBK下有问题。
      

  11.   

    http://www.w3school.com.cn/php/func_mysql_real_escape_string.asp
    看看吧
      

  12.   

    这个和编码有关系,在转义之前,需要先设置好MYSQL数据库的字符集:mysql_query("set names utf8;")或者是
    mysql_query("set names gbk;")
    mysql_query("set names gb2312;")