安装mysql是默认编码是UTF-8,windows下,命令行创建表的时候,插入中文就报Incorrect string value: '\xBF\xAA\xB7\xA2' for column 'team错,linux下就不会,请问这是为什么?
好像把编码改成GBK也可以插入。
mysql> create table team(
   -> team_id int(5) zerofill primary key,
   -> name varchar(20) not null,
   -> team_desc varchar(128) default null);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into team values(1,'java','java开发');
ERROR 1366 (HY000): Incorrect string value: '\xBF\xAA\xB7\xA2' for column 'team
desc' at row 1
mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------
-----+
| Variable_name | Value
   |
+--------------------------+---------------------------------------------------
-----+
| character_set_client | utf8
   |
| character_set_connection | utf8
   |
| character_set_database | utf8
   |
| character_set_filesystem | binary
   |
| character_set_results | utf8
   |
| character_set_server | utf8
   |
| character_set_system | utf8
   |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.1\share\char
ets\ |
+--------------------------+---------------------------------------------------
-----+
8 rows in set (0.03 sec)mysql> insert into team values(1,'java','java555');
Query OK, 1 row affected (0.01 sec)

解决方案 »

  1.   

    我就是在window下面的,没有出现这种情况
      

  2.   

    字符集设置的问题。命令行上,使用 set names 'gbk';http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  3.   

    配置的时候不要配置成UTF8,你重新配置一下,改成 GB2312,或者 GBK
      

  4.   

    楼主的服务器 客户端  表 以及连接  都是默认的utf8编码,按照道理这种情况应该不会发生乱码的。不知道楼主发生乱码的原因是什么呢?请指教,谢谢!
      

  5.   

    可以这样,也可以把这个加在你的MYSQL配置文件中mysql [client]
      

  6.   

    打开mysql安装文件,在里面寻找一个叫做my.ini的文件,以记事本的方式打开此文档,
    看见
    [client]port=3306[mysql]default-character-set=utf8
    把default-character-set=utf8改为default-character-set=GBK,
    就行了,此处的编码修改是针对输入数据库时可以导入中文用的,
    在my.ini文件的下方还有一处有编码的设置:
    [mysqld]# The TCP/IP Port the MySQL Server will listen on
    port=3306
    #Path to installation directory. All paths are usually resolved relative to this.
    basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.1/"#Path to the database root
    datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"# The default character set that will be used when a new schema or table is
    # created and no character set is defined
    default-character-set=utf8
    此句红颜色代码勿要修改,那是用来对输入数据进入数据库是进行编码转换之用,以utf8进行保存这个方法应该是可以尝试的吧!
      

  7.   

    安装完之后配置向导自己出来,都是英文的,你自己查下单词,那个界面上应该有个Wizzard字样