Mysql字符集设置为utf8,怎么插入中文还是ERROR 1406 (22001): Data too long...

1。确保my.ini中涉及到字符的参数都是utf8
2。如果直接用mysql的命令行(开始菜单下的Command Line Client)会有问题,它直接使用my.ini中的default-character-set=utf8连接,而我们的机器字符集基本都是GBK。要在command下使用:
mysql -uroot -p --default-character-set=gbk
命令来登录,因为字符集设置为utf8,但机器环境是GBK,mysql貌似不能自动转换。使用这个default的本意应该是保证Client和Conn的一致。

而使用某些GUI可能不会存在这个问题。不过习惯了用命令行,所以这里记录一下。
登录后:
mysql> status
--------------
mysql  Ver 14.12 Distrib 5.0.22, for Win32 (ia32)

Connection id:          5
Current database:       test
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.0.22-community-nt
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    gbk
Conn.  characterset:    gbk
TCP port:               3306
Uptime:                 14 min 53 sec

Threads: 1  Questions: 20  Slow queries: 0  Opens: 1  Flush tables: 1  Open tables: 6  Queries per second avg: 0.022
--------------

mysql> quit

你可能感兴趣的:(Mysql字符集设置为utf8,怎么插入中文还是ERROR 1406 (22001): Data too long...)