JDBC连接mysql处理中文时乱码解决办法详解
作者:lqh 发布时间:2024-01-17 21:35:35
JDBC连接mysql处理中文时乱码解决办法详解
近日,整合的项目需要跟一个比较老版本的mysql服务器连接,使用navicat查看,发现此mysql服务器貌似没有设置默认编码,而且从操作此mysql的部分php文件看,应该是使用的gb2312的编码,但是,直接使用jdbc操作,从库中读取出来的中文全都是乱码。
一开始,使用类似entity.setDepartName(new String(rs.getString("hg").getBytes("gbk"), "utf-8"));的方式,试图进行强制的编码转换,结果失败了,因为,无论采用何种方式,转出来的字符总是各种各样的乱码,只是每次乱的方式都不一样。比较郁闷。而且,此项目由于使用的其他的产品,无法在其中再加额外的类似过滤器之类的东西,所以这个问题不是很好处理。
使用navicat连接查询,没有问题,因此,试着将某个表导出sql,查看DDL中是否有关于编码的设置,结果让我很失望,编码这一块直接没写。于是,将导出的sql文件修改扩展名为html,使用IE打开,发现没有乱码,查看此时的编码格式果然是“gb2312”,但是,使用java强制的转码已无济于事。怎么办呢?
而且,此项目已运行多年,后期维护有些缺乏,my.ini文件也更是无法查看并修改的。
突然想起,mysql连接的时候可以加上参数,并且有些参数是指定编码的,这样是不是可以解决问题呢?
于是修改连接字符串(原值为:url="jdbc:mysql://192.168.18.254:3306/web_oa)为:
url="jdbc:mysql://192.168.18.254:3306/web_oa?useUnicode=true&characterEncoding=gbk"
重启应用,查看,OK!中文很正常。
问题解决。
这种方式其实是在连接时指定使用gbk的编码格式,从而避免客户端与服务端各自使用自己默认的编码格式交互,只要配置合适,不会出现乱码问题。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/cyq1984/article/details/7866490


猜你喜欢
- 建立连接在WPF当中,需要为View与ViewModel建立连接, 我们需要找到View的DataContext, 如下所示:建立连接的方式
- 实例076:做函数题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+.
- 事物绝非十全十美总有强差人意的一面,之前针对浮动分析了其引起文本重影的怪异问题,而作为浮动布局的最佳搭档定位布局也存在一定的缺陷。围绕着定位
- 在本教程中,我将指导您如何编写代码,以使用具有基于表单的身份验证的Spring安全API来保护Spring Boot应用程序中的网页。用户详
- 往列表头部和尾部添加元素往头部添加元素list.insert(index,new_element)@@@index为新元素的插入位置,当in
- 1 引言Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用。本文主要介绍Pandas的几种数据选取的方法
- 第一种是用urllib模块,下面是例示代码:import urllibstatus=urllib.urlopen("https:/
- 前言上一篇文章写了关于字典操作方法的增删改,这篇主要讲解如何查找字典数据。查找数据写法一共有两种,一种能够是key值查找,另外一种是按照函数
- 自动化整理计算机文件通过Python编程完成文件的自动分类、文件和文件夹的快速查找、重复文件的清理、图片格式的转换等常见工作。1. 文件的自
- 引言很多人可能没有注意过,在 Go(甚至是大部分语言)中,一条普通的赋值语句其实不是一个原子操作。例如,在32位机器上写int64类型的变量
- 前言在学习过程中发现有时候交换字典的键和值,会使得我们最后的输出结果更加直观明了,整理出以下四种交换方式(data是原字典,new_data
- string iconv ( string $in_charset , string $out_charset , string $str
- 问题: 1.购物车中的数据是否应该存储在数据库中? 我特别想知道在真正的项目中,那些真正的软件工程师是如何考虑这个问题的。在Google上一
- 本文实例讲述了Python实现基于HTTP文件传输的方法。分享给大家供大家参考。具体实现方法如下:一、问题:因为需要最近看了一下通过POST
- 一直都在网上抄别人写的电话,邮箱正则表达式,今天稍微有点闲情,把一直想自己写个这样的表达式的心愿给完成:/** * 邮箱地址正则表
- 现在我们常见到有些网站常有这样个功能:有个按钮(如工作职位或省份或地区的选择等等)你一点就跳出一个图层(对话框)让你选择之类的。关闭它就点右
- 摘要:本文介绍了有关数据表的优化技巧,主要内容有,选择表的类型,打开尽量少的表,锁定表与查询速度的关系以及如何优化表以达到提高查询速度的目的
- 业务场景由于项目需求,需要对相关类目进行多选,类目数据量又特别大,业务逻辑是使用懒加载方式加载各级类目数据,编辑时回显用户选择的类目。问题描
- 在一个网页中,不仅仅只有一个html骨架,还需要css样式文件,js执行文件以及一些图片等。因此在DTL中加载静态文件是一个必须要解决的问题
- 刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。在Python中