博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决Java连接MySQL存储过程返回参数值为乱码问题
阅读量:6440 次
发布时间:2019-06-23

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

先说MySQL的字符集问题。Windows下可通过修改my.ini内的

[mysql]  

 default-character-set=utf8    //客户端的默认字符集

在MySQL客户端工具中输入SHOW VARIABLES LIKE 'character%'; 显示如下

这样执行读取信息返回中文为乱码,解决办法是,在连接数据库之后,读取数据之前,先执行一项查询 SET NAMES 'utf8'; 即可显示正常。

最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节): 

1、在[client]字段里加入default-character-set=utf8,如下: 
[client] 
port = 3306 
socket = /var/lib/mysql/mysql.sock 
default-character-set=utf8 
2、在[mysqld]字段里加入character-set-server=utf8,如下: 
[mysqld] 
port = 3306 
socket = /var/lib/mysql/mysql.sock 
character-set-server=utf8 
3、在[mysql]字段里加入default-character-set=utf8,如下: 
[mysql] 
no-auto-rehash 
default-character-set=utf8 
修改完成后,service mysql restart重启mysql服务就生效。注意:[mysqld]字段与[mysql]字段是有区别的。这点在网上没人反馈过。 
使用SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码全已改成utf8。 
+--------------------------+----------------------------+ 
| 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 | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+ 
4、如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面): 
SET NAMES ‘utf8′; 
它相当于下面的三句指令: 
SET character_set_client = utf8; 
SET character_set_results = utf8; 
SET character_set_connection = utf8; 
网上很多其他方法不能彻底解决这个问题,这个可以完美解决! 

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

你可能感兴趣的文章
WebView与 JS 交互方式
查看>>
Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
查看>>
【CT】四、Turing Machines(2)
查看>>
【matlab】plot
查看>>
Kafka生产者APi
查看>>
有关计算机组成的分享~
查看>>
梳理回顾
查看>>
基于开源Dubbo分布式RPC服务框架的部署整合
查看>>
用C#实现智能设备上的NotifyIcon类
查看>>
HDU-2602-Bone Collector
查看>>
(转) 寄存器、RAM、ROM、Flash相关概念区别整理
查看>>
python查找时,不支持compound class
查看>>
vs 2017 IIS EXPRESS 增加局域网访问
查看>>
网络流(六)最小费用最大流问题
查看>>
POJ-2456 Aggressive cows---最大化最小值(也就是求最大值)
查看>>
解决WinSock中发送、接收多包问题
查看>>
CMDB资产管理系统开发:需求分析
查看>>
WebKit源代码里的RefPtr智能指针
查看>>
前端异常采集
查看>>
[LeetCode]题解(python):056-Merge Intervals
查看>>