几乎一天的时间,mysql中关于utf-8与GB2312的问题!今天,在用mysql发布新闻内容的时候,一开始用的是用的gb2312的编码!
按里说对中文字符应该支持要好点的!
“1 row(s) inserted.
Inserted row id: 4
Warning: #1366 Incorrect string value: '\xE5\xA2\xBA' for column 'name' at row 1
”每次插入的同一段内容的时候,就报以上错误!后来经过排查就是该段内容中的“墺” 编码错误!
而如果把该字段的编码格式换成utf-8的话,就没有这个问题!貌似“墺”这个字用gb2312编码好像编码不了,在mysql中...不知谁能帮测试下!

解决方案 »

  1.   

    用UTF-8,utf-8的字符集比GB2312大。
      

  2.   

    GB2312字库量有限。
    建议用GBK,utf-8也不错。
      

  3.   

    如果只有中文的话就GBK可以了
      

  4.   

    可是据我所知道“墺”这个字如果你的mysql字段用gbk2312的话,他是插入不了的!
    不知道您没有试过?
    另外对于mysql而言,gbk和gbk2312还有什么区别吗?
      

  5.   

    mysql编码还要与PHP编码一致,PHP用什么编码,mysql就用什么编码。
      

  6.   

    字符串的编码? 
    set names的编码?
      

  7.   

    GBK包含所有的汉字,而GB2312只包含常用汉字
    如果是中文就用GBK就可以了,用UTF8的话,改动量比较大,还会出现很多莫名其妙的错误!
      

  8.   


    set names 的编码是gbk!mysql数据库中的整理编码是gb2312!
      

  9.   

    utf8范围大  不容易出现乱码....
      

  10.   

    '\xE5\xA2\xBA' 是 墺 的 utf-8 编码的码值
    你向 GB2312 编码的字段直接插入 utf-8 编码的内容,当然要出错了
      

  11.   


    我是插入的墺 字呀,然后报错的时候才出现“\xE5\xA2\xBA”,我的数据库编码是gb2312!(如上截图!)最新发现 将数据库整理编码改成gbk,就可以正常插入了!
    不知道是不是因为gbk2312中没有“墺”这个字的编码!在php+mysql中编码的确是比较麻烦的问题!貌似用.net(c#+mssql)这种编码问题,遇到很少!