JAVA写入MySQL数据提示[ERROR 1366 (HY000):错误异常解决方案
来源:互联网 发布:大数据mobi 编辑:程序博客网 时间:2024/05/21 17:33
JAVA写入MySQL数据提示[ERROR 1366 (HY000):错误异常解决方案
今天搭建一套开发环境测试时,写入MySQL数据库的中文数据就出现异常,MySQL是5.5,java版本是1.6,调试几次写入数据库的都是乱码。
先查看了字符集:
/**查看字符集 **/--查看MySQL数据库服务器和数据库字符集
show variables like '%char%';--查看表的字符集
show table status from mysql_db like '%tb_name%'--查看表中所有列的字符集
show full columns from tb_name;--查看mysql所支持的字符集
show charset;
1. 改数据库的编码,无效,最后还导致1366的异常
<pre name="code" class="sql" style="color: rgb(69, 69, 69); line-height: 21px;">/**<span style="color: rgb(51, 51, 51); font-family: Arial; line-height: 26px;">修改字符集</span><span style="font-family: Arial;"> **/</span>set character_set_connection=utf8;set character_set_database=utf8;set character_set_results=utf8;set character_set_server=utf8;set character_set_system=utf8;set collation_connection=utf8;set collation_database=utf8;set collation_server=utf8; --修改表的字符集
ALTER TABLE tb_name CONVERT TO CHARACTER SET utf8;
2. 修改MySQL启动文件my.ini,设置编码,重启数据库,无效
<span style="font-size:18px;">[mysql]default-character-set=utf8# ... ... 省略[mysqld]character-set-server=utf8</span>
3. 重装本机数据库,无效
郁闷了半天,想起了对比法,将测试环境的数据库、表、字段信息与自己电脑中的进行对比,通过查看所有表中列的字符集发现Collation项,测试库所有varchar字段都是utf8_general_ci,而本地机器上的,都是空。修改字段字符集后,搞定!
另外我还做了测试,如果改一次以后,再将字段字符集改为gbk后,还是不会出现乱码,不知道是不是mysql5.5的bug。
<span style="font-size:18px;">--修改字段字符集 </span>
<span style="font-size:18px;">alter table tb_name modify column tb_column varchar(30) character set utf8 not null;</span>
0 0
- JAVA写入MySQL数据提示[ERROR 1366 (HY000):错误异常解决方案
- MYSQL ERROR 1130 (HY000) 的错误解决方案
- MYSQL ERROR 1130 (HY000) 的错误解决方案
- MYSQL ERROR 1130 (HY000) 的错误解决方案
- Mysql错误 ERROR 1366 (HY000)的解决方法
- MySQL的ERROR 1366 (HY000): Incorrect string value错误解决
- mysql error 1130 hy000:Host'localhost'解决方案
- mysql error 1130 hy000:Host'localhost'解决方案
- mysql error 1130 hy000:Host'localhost'解决方案
- mysql 1366错误:字符集冲突导致插入数据异常,解决方案
- MySQL 中文插入数据乱码(问号????)ERROR 1366 (HY000)
- MySQL 中文插入数据乱码(问号????)ERROR 1366 (HY000)
- MySQL 中文插入数据乱码(问号????)ERROR 1366 (HY000)
- MySQL 中文插入数据乱码(问号????)ERROR 1366 (HY000)
- 重启虚拟机(linux)后 mysql数据库出现mysq ERROR 2002 (HY000)错误的解决方案
- mysql ERROR 1042 (HY000): Can't get hostname for your address 错误解决方案
- mysql错误处理之ERROR 1665 (HY000)
- Mysql ERROR 2002 (HY000)错误解决
- 第2章 C语言概述
- jdk1.6学习笔记
- 调侃《Head First 设计模式》之单例模式
- 使用printf输出各种格式的字符串
- JS 您还可以输入多少个字
- JAVA写入MySQL数据提示[ERROR 1366 (HY000):错误异常解决方案
- android 动态调整RelativeLayout布局控件的相对位置 layout_toLeftOf 之类的
- 如何检查表空间和表占用率
- LPVOID和PVOID的区别是什么
- 腾讯笔试题
- 直线交点
- jQuery学习后的总结--选择器(二)
- javaScript判断字符串是否包含中文或英文
- apache 配置