随笔 - 59  文章 - 70  trackbacks - 0
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(5)

随笔分类

随笔档案

搜索

  •  

积分与排名

  • 积分 - 172978
  • 排名 - 338

最新评论

阅读排行榜

评论排行榜

在页面中向mysql5.0插入中文数据时提示失败,将sql语句复制到管理器中,数据库提示data too long for column "title",我改为一个汉字,还是提示同样的信息,换成英文再试一下,正常,应该是字符集除了问题,但是数据库在建立的时候就选择的DEFAULT_CHARSET,应该是字段的问题。
 将MySQL安装目录下的my.ini文件中的字符集配置如下(修改完之后,最好重启一下MySQL服务):
    [mysql]
    default-character-set=gbk
    [mysqld]
    default-character-set=gbk
或者在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了
    将表和字段的字符集属性都改成gbk。
    在每一次MySqlCommand Execute语句时,如果SQL语句或者参数中包含中文,或者是返回的记录集中有中文(指Select的查询语句),就在这个Execute的SQL语句之前加一个SET NAMES GBK;。
posted on 2009-04-15 09:28 JasonChou 阅读(36077) 评论(24)  编辑  收藏 所属分类: database

FeedBack:
# re: mysql中data too long for column问题的解决方法 2009-05-16 12:37 456465
狗屎,方法不可用  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2009-05-18 10:06 JasonChou
@456465
注意你的言辞!!!
我用这个方法解决了我碰到的问题
你的问题如果不是编码的原因那当然就解决不了,什么叫对症下药,你懂吗?  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2009-06-17 09:47 汪晶
他说的的对啊!我就是按楼主说的解决了问题^^  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2009-10-14 19:57 xys8628
楼主很NB  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2009-12-26 14:52 good
done  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2010-04-20 22:42 Exisren
@456465
这种人做程序员的吗?

如果是,实在是让程序员丢脸!

  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法[未登录] 2010-05-29 07:33 asen
楼主

我网页和数据库都是采用utf8编码,那怎么解决

hulushangxian@qq.com  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2010-05-29 12:08 JasonChou
@asen
你好,mysql的乱码问题一直以来都是比较烦人的一个问题!
你设置成default-character-set=UTF-8试试!  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2010-09-04 15:13 makyoo
我不能用 GBK 啊
text 属性 长度为 0 已经不限制长度了
但达到一定长度后就不能增加了
(鄙视一楼)  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法[未登录] 2010-09-13 21:10 过客
楼主好气度,别跟那人一般见识  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2011-01-24 10:23 lin
楼主啊,我也出现这个问题,如果只输入几个汉字,则是可以.不过要是一大段里边包括了汉字,那就会出现这个问题,我照着你上面的改了,还是出错.  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2011-07-03 18:32 大幅度
谢了,lz  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2011-08-12 02:39 分公司
在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了

这一段好像是有问题的,

mysql的帮助文档中对STRICT_TRANS_TABLES的描述是:
对使用事务的表,当插入非法(invalid)数据时,终止(abort)语句。去掉这个等于是在逃避问题啊,就是说mysql发现错误了,也不让他报出来。
详见:mysql帮助文档5.2.5. The Server SQL Mode

下面的set names gbk是亮点
附上另外一篇详细的介绍:http://blog.sina.com.cn/s/blog_53b0d5dc0100097v.html
@456465
  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2011-12-07 16:18 胡锦涛
@Exisren
你就一坨屎  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法[未登录] 2012-02-10 16:34 123
@分公司
恩恩,对的!!确实不能这样改,直接用一下set names gbk;  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2012-02-20 12:44 heh
楼主的方法很好呀!!  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2012-05-02 21:08 windows7
补充一点。
假如之前的字符是字符A,没有设置好自己想要的字符,就创建了表。
后来数据库默认字符A改成了自己想要的字符B(就像楼主一样打命令行)。
之前的表的字符也设置成了想要的字符B,但是也是没有生效。但是把旧的表删除,再新建表就可以了。  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2012-05-18 23:48 啊顺达商店
@JasonChou
不错 我用了你的方法可以 谢啦  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法[未登录] 2012-07-14 22:43 aaa
一楼改代码改到郁闷发泄下而已,你们又不是没郁闷过,难道人人都是君子?  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法[未登录] 2012-10-08 09:56 小明
楼主大神 太感谢啦!问题就这么被解决啦!  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法[未登录] 2013-04-02 14:51 gaga
就是这样的、我的对了、不管你们  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2013-08-28 13:55 。。。。。
字段长度你没定义吧  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2014-11-18 11:50 leither
感觉楼主,我的问题解决了。  回复  更多评论
  
# re: mysql中data too long for column问题的解决方法 2015-12-11 02:22 12
谢谢  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: