问题症状:
1,用mysql-front等客户端编写的sql语句向mysql插入中文字符没有任何问题。
2,用 注明了连接方式(包括host,user,passward,database,charset)的python向mysql插入中文字符没有问题。
3,检查了eclipse和系统的默认字符集,都是utf-8,没有问题。
可是,用java向mysql插入中文字符就是有乱码。倒腾了快一天。。。
问题排查:
检查mysql端的用show variables like '%char%' 得到如下结果:
"character_set_client","utf8"
"character_set_connection","utf8"
"character_set_database","utf8"
"character_set_filesystem","binary"
"character_set_results","utf8"
"character_set_server","latin1"
"character_set_system","utf8"
这说明服务器上mysql默认的server端的编码方式为l
解决方案:
在java的连接字符串中写明需要的编码方式,
例如,连接字符串写成:
jdbc:mysql://192.9.200.41:
总结:
如果遇到乱码问题可以从三个方面检查
a, eclipse和java的默认编码格式,
b,检查mysql表中字段使用的编码方式。
c,连接字符串中的编码方式。
原文地址:http://blog.csdn.net/waleking/article/details/7827198
相关文章
- mysql slave不能同步Last_SQL_Error Error Duplicate entry
- MySQL 提示Incorrect key file for table 'xx'; try to 出错无法打开
- MySQL Got error 28 from storage engine 解决办法
- 高可用的Mysql双机热备(Mysql_HA)
- mysql 对数据表的结构和数据进行复制
- mysql数据库表的错误 got error 28 from storage engine
- MySQL存储过程中使用动态行转列
- 查看运行MySQL中的语句(查询正在执行的sql)
- mysql安装图解 mysql图文安装教程(详细说明)
- Can't connect to MySQL server on localhost (10061)解决方法