博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 乱码问题
阅读量:6903 次
发布时间:2019-06-27

本文共 1815 字,大约阅读时间需要 6 分钟。

我们使用JDBC 连接MySQL数据库服务器是经常会出现乱码

在我们初学的时候第一想法就是客户端解决问题, 会在连接url 后面添加参数

jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=UTF-8复制代码

出来上班后我也使用了同样的办法, 但是技术经理一看到我这个办法就说我们这个不行, 我也不知道为什么, 他说出现问题要从数据库的服务端去解决, 能服务端解决的就服务端解决。

在没有对my.ini 做修改的时候使用`show variables like ‘%char%’;` 查询是这样的:

Variable_name Value
character_set_client gbk
character_set_connection gbk
character_set_database latin1
character_set_filesystem binary
character_set_results gbk
character_set_server latin1
character_set_system utf8
character_sets_dir D:\tools\mysql\mysql-5.5.57-winx64\share\charsets\

网上查了发现有这样的的解决方法:

分别在[mysqld]和 [client] 下面添加 default-character-set = utf8

[mysqld]#设置字符集为utf8default-character-set = utf8[client]#设置客户端字符集default-character-set = utf8复制代码

启动的时候发现报了错, 起不起来, 发现有错误日志

[ERROR] MySQL: unknown variable ‘default-character-set=utf8’

继续网上查, 原来是我使用的是 5.5.57 这个版本, 这个版本不支持直接在my.ini 中直接配置`default-character-set = utf8`, 修改为 `loose-default-character-set = utf8` 这样就好了

[mysqld]#设置字符集为utf8loose-default-character-set = utf8[client]#设置客户端字符集loose-default-character-set = utf8复制代码

现在不报错了, 现在看看编码

Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir D:\tools\mysql\mysql-5.5.57-winx64\share\charsets\

现在都改过来了, 使用JDBC 连接也没有问题了,但是`character_set_server` 这个编码还是`latin1`

老规矩, 查
发现 :
在[mysqld]配置选项下添加character-set-server = utf8,重启服务进入mysql再次查看:

Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir D:\tools\mysql\mysql-5.5.57-winx64\share\charsets\

都改过来了

大功告成!!!

转载地址:http://dhvdl.baihongyu.com/

你可能感兴趣的文章
编码:隐匿在计算机软硬件背后的语言
查看>>
object-c中NSString字符串匹配操作
查看>>
iOS - (TableView中利用系统的 cell 设置 cell.textlabel 位置和大小)
查看>>
SqlBulkCopy(批量复制)使用方法
查看>>
OracleHelper类
查看>>
UIImageView 浅析
查看>>
Linux Shell编程三
查看>>
js in
查看>>
SQL-SERVER触发器
查看>>
WordPress主题模板修改制作入门之模板函数篇
查看>>
Android 下使用 JSON 实现 HTTP 请求
查看>>
如何成为“10倍效率”开发者
查看>>
IE和FF 常见问题
查看>>
smarty常见问题n
查看>>
C#开发的高性能EXCEL导入、导出工具DataPie(支持MSSQL、ORACLE、ACCESS,附源码下载地址)...
查看>>
40幅极具创意的街头墙绘艺术作品欣赏(上篇)
查看>>
matlab gui 命令大全
查看>>
PTC FlexPLM rfa 接口自动创建产品规格
查看>>
转 使用JavaScript和DOM动态创建表格
查看>>
myeclipse安装svn插件的多种方式
查看>>