如果自己尝试手动向数据库中添加中文记录,也无法成功 例如我想添加一行记录 ("的","23") MySQL Query Browser会报错,错误代码为1406,错误描述为"Data too long for column 'user_name' at row 1“ 请问这又是为什么? 'user_name' 这个字段为VARCHAR(45)类型
connection要指定Encoding, 连接的字符集 一定需要吗? 如果需要,怎么指定呢?
Mysql 中ERROR 1406 (22001): Data too long for column 解决方法导入数据的时候,MYSQL 报错:Data too long for column解决办法:在my.ini里找到(此文件在mysql安装目录下) sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 把其中的STRICT_TRANS_TABLES,去掉, 或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注释掉,然后重启mysql就ok了文章出处:http://www.diybl.com/course/7_databases/mysql/Mysqljs/2008224/100938.html
建议 最好重新安装MYSQL 选择好默认字符集 以后改可能达不到你要的效果
还有就是楼上说的 强制转换
建议 最好重新安装MYSQL 选择好默认字符集 以后改可能达不到你要的效果
还有就是楼上说的 强制转换
连接的字符集
一楼的可以既然,你的mysql数据库设置的字符编码为gb2312强烈建议:
那就把数据处理的编码方式,显示页面的编码方式全部都统一为gb2312就可以了;
例如我想添加一行记录
("的","23")
MySQL Query Browser会报错,错误代码为1406,错误描述为"Data too long for column 'user_name' at row 1“ 请问这又是为什么?
'user_name' 这个字段为VARCHAR(45)类型
连接的字符集
一定需要吗?
如果需要,怎么指定呢?
Mysql 中ERROR 1406 (22001): Data too long for column 解决方法导入数据的时候,MYSQL 报错:Data too long for column解决办法:在my.ini里找到(此文件在mysql安装目录下)
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的STRICT_TRANS_TABLES,去掉,
或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注释掉,然后重启mysql就ok了文章出处:http://www.diybl.com/course/7_databases/mysql/Mysqljs/2008224/100938.html
my.ini 中的
[mysql]节点下添加
default-character-set=gbk将[mysqld] 下的
default-character-set=UTF-8
改成 default-character-set=gbk2.连接字符串 设置编码
String url = "jdbc:mysql://localhost/sunlight?user=root&password=root&useUnicode=true&characterEncoding=gb2312";
create table XXX(xxx,xxx)default gb2312;
连接字符串时也设置编码
url = "jdbc:mysql://localhost:3306/xxx?characterEncoding=gb2312"