资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
1046 - Data too long for column Title at row 1 解决办法如下1,mysql 的编码设置为 utf8 格式,可以从开始菜单那图形化配置 ,或者直接进入安装目录配置 my.ini修改 MySQL 文件夹下的 my.ini 文件。如下:mysqldefault-character-set=utf8mysqlddefault-character-set=utf82,在 java 连接数据库时这样写:String durl=jdbc:mysql:/localhost/sales?user=root&password=riskfitfeng&useUnicode=true&characterEncoding=utf-8;3,数据库的编码为 utf84,数据库表编码为 utf85,数据库字段编码为 utf8-最近,在用 mysql 做一个测试用例的时候,出现乱码。 现象:无论是从 MySQL Query Browser 还是 Java 程序插入数据库,只要插入中文字符, 就会报错“Data too long for column XXXXX ”。这里,显然不是字段长度设置太短的问题。在网上查资料,大多介绍不外乎下面集中解决方法: 1.修改 Server 端编码。修改 character_set_xxx 2.在 JDBC-URL 连接后面加上 &useUnicode=true&characterEncoding=UTF8 3.修改 my.ini 文件 去掉 sql-mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION中的 STRICT_TRANS_TABLES 真是病急乱投医,所以该试的方法都试了,问题依然无法解决。 被这个问题折磨的实在不行了,最后准备卸载重装一次。再不行,就去别人的机器上试下。在备份表的 SQL 语句时,发现 DROP TABLE IF EXISTS test.test1; CREATE TABLE test.test1 ( column_name column_type charset latin7 ) ENGINE=InnoDB DEFAULT CHARSET=latin7; 最后面,竟有这么一句: DEFAULT CHARSET=latin7。 直接晕倒,明明已经在 MySQL Query Browser 中将表的编码设置成 UTF8 了,怎么是latin7。改成 UTF8,问题解决。 看来,有时候不能太相信可视化的编辑器,还是直接的 SQL 最直接。 还有,就是查看下表的字段也有 column charset 选项,看是否设置正确了。 综上所述,出现乱码后,一定检查数据库服务器、库、表、字段的编码设置是否支持中文。经过试验,只要上述都设置为 UTF8,即使,URL 后面不添加useUnicode=true&characterEncoding=UTF8 就不会出现乱码。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号