angelia_wyy_wyy
2015-11-07 08:23 阅读 1.1k

MySQL字符编码问题求解

1

首先表的创建语句如下:
create table teacher(id int primary key auto_increment,name varchar(40))DEFAULT CHARSET=utf8;
_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 (x86)\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------------+

随便插入一个中文数据仍然出现错误,求解。
mysql> insert into teacher values(1,'周');
ERROR 1406 (22001): Data too long for column 'name' at row 1

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • u012934325 墨笙弘一 2015-11-07 08:46

    看错误,显示的是数据太长,第一行 name字段下面的 我觉得你给这个字段的大小小于你现在输入的name值 应该调整name字段的大小

    点赞 评论 复制链接分享
  • xionglangs 编程爱好者熊浪 2015-11-07 11:39

    http://blog.csdn.net/millia/article/details/5806774 这里设置编码,看看可不可以
    ERROR 1406 (22001): Data too long for column 'name' at row 1 至于这个问题吗,就是你这个name字符串设置的大小小于你添加的数据,把name长度
    设大,如果已经很大,就直接改成text格式。

    点赞 评论 复制链接分享
  • u011225629 君莫傲 2015-11-08 02:23

    你的表中是否已经有了id为1的数据了呢?另外不要给自动增长的id逐渐赋值

    点赞 评论 复制链接分享
  • wojiushiwo945you 毕小宝 2015-11-08 06:24

    teacher 表的name字段是什么类型呢?长度如何?还有这个表的编码格式是utf吗?

    点赞 评论 复制链接分享

相关推荐