在使用mysql创建数据库及表格,在navicat中可以正常查询出中文,但使用jdbc查询的结果中,中文为乱码。

网上查到资料,为了能够彻底一劳永逸的解决这个问题,需要修改mysql下配置文件my.in

打开cmd  使用   mysql -uroot -p   登录mysql之后,使用这条语句查询数据库编码 show variables like '%char%';

查询结果编码有的为lan1编码 有的是utf8编码

网上一些修改方法 是在这三个位置添加相关语句

经实验还是有中文乱码出现

再次使用show variables like '%char%';  查询,发现字符编码变为utf8 但是连接编码set_character_connection和其他几个还是lan1编码

后来在my.in中[mysqld]标签最下面发现这样一段

## UTF 8 Settings
#init_connect=\'SET NAMES utf8\'
#collation_server=utf8_unicode_ci
#character_set_server=utf8
#skip-character-set-client-handshake
#character_sets-dir="D:/xampp/mysql/share/charsets"

前面的井号#表示这是一段被注释掉的代码  猜测是用来设置utf8编码的

而且character_set_server=utf8这一句与网上方法相同,但网上方法并没有完全改变所有编码格式

去掉这段代码前面井号如下:

## UTF 8 Settings
init_connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="D:/xampp/mysql/share/charsets"

使用show variables like '%char%'; 结果如下:

重新创建数据库和表,jdbc查询测试,中文正确显示。

此外应当注意,jdbc的url后面应当指明编码格式 如下:

jdbc:mysql://localhost:3306/(这里写数据库名,不加括号)?useUnicode=true&characterEncoding=UTF-8。

最新文章

  1. css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$('.float')
  2. volley_之基本使用
  3. C#实用杂记-EF全性能优化技巧2
  4. [物理学与PDEs]第3章 磁流体力学
  5. 性能优化-列表类型转换(ConvertList<TSource, TResult>)
  6. Qt 学习之路:QSortFilterProxyModel
  7. SQL Server:错误处理及事务控制
  8. Hibernate4 : 持久化你的第一个类
  9. type="submit" button的用法
  10. C# 添加、读取Word脚注尾注
  11. MySQL数据库事务及其特性
  12. 关于MySQL什么时候使用索引问题以及什么情况下应不建或少建索引
  13. 一、iOS开发环境搭建
  14. DevExpress.XtraGrid.GridControl中数据源的绑定问题
  15. php多进程、IPC和事件驱动
  16. Codeforces.911F.Tree Destruction(构造 贪心)
  17. javascript sourcemap
  18. [sql]sqlite3板子上安装运行报错
  19. hdu2073-2078
  20. python mongodb ubuntu

热门文章

  1. Maven 集成Tomcat插件(引用)
  2. Java基础学习(3)
  3. nodejs 报错
  4. python常用函数 W
  5. Redux中间件之redux-thunk使用详解
  6. Sass @warn
  7. uboot学习之五-----uboot如何启动Linux内核
  8. cx_Oracle python模块安装
  9. CentOS 6.3下Zabbix监控MySQL数据库参数
  10. 【XSY2472】string