$newname=$_GET['newname'];//echo $newname;$updatesql="update file set filename='$newname' where newname='$formername2' and tfms='$thiscookie' ";$db->query($updatesql);mysql中的表的字符集格式是gb2312,英文和数字都正常,但是只要这个$newname变量里面带有汉字,sql操作就会被忽略,就跟什么都没发生一样,也不报错,但是实际数据没有插入进去.
如果把第二行的注释去掉的话,可以正常显示汉字,证明到这个位置都没有错误,不知道需要哪些地方设置正确,坐等高人

解决方案 »

  1.   

    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    where newname='$formername2' and tfms='$thiscookie' 有问题
      

  3.   

    谢谢楼上的兄弟,很惭愧Google没有用好,下次就直接 site:csdn.net就OK 了
    去看了
      

  4.   

    2楼,where newname='$formername2' and tfms='$thiscookie' 有问题?
    有什么问题麻烦说具体点,这个是用于在mysql中更改文件名(文件名记录到数据库中,实际下载的时候直接链接到相关路径),因为所有英文的和数字的都没有问题,偏偏中文的都没有正确插入,所以我觉得是编码的问题
      

  5.   

    数据库的格式是否选择为GBK 或者GB2312  如果是选择默认的, 就有可能是编码的问题。