php 向mysql中插入中文失败,提示:Incorrect string value: '\xCD\xF5' for column 'userName' at row 1 
  php向数据库中插入中文失败,插入字母及数字不会出错,用navicat在数据库中直接插入中文没有问题,应该不会是mysql设置的问题,请高手解释的时候不要在网上粘贴的东东,基本方法都已经试过了。考虑应该是PHP环境设置的问题,更改了php.ini中的default_charset = "gbk"(当然看到网上说html,mysql,php要设置一样,mysql也设置成GBK),还是出错。请帮忙解决,谢谢!

解决方案 »

  1.   

    在mysql连接后执行一条SQL语句:
    set names gbk
      

  2.   

    是可以解决,但请问一下,这是为什么,PHP和mysql环境中都已经设置成GBK了。
      

  3.   

    php.ini里的default_charset好像指的是网页的默认字符集,不是数据库连接时使用的字符集。直接在php.ini配置文件中指定mysql字符集的方法我没有尝试过。。这行代码的作用就相当于强制使用双方gbk字符集。
      

  4.   

    set names ...意思就是现在开始我要用 GBK 插入啦!!!
    于是Mysql换了个GBK喜欢的姿势...来吧~