javaoracle中文乱码怎么办

java oracle中文乱码的解决方法:1、将读到的字符串s,则进行纯手工转码,代码为【new String(s.getByte(A), B)】;2、使用druid对各种数据库驱动做了一层统一的封装,编码转换。

创新互联建站长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为福州企业提供专业的成都网站建设、网站建设,福州网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

【相关学习推荐:java基础教程】

java oracle中文乱码的解决方法:

转码方法

当Java读Oracle遇到中文乱码时,我们就需要进行转码。转码的方法很多,我接触过的有以下几种。

1、纯手工转码

将读到的字符串s进行转码,如:new String(s.getByte(A), B)

2、Druid

druid是阿里巴巴自己开发的一个驱动,它其实是对各种数据库驱动做了一层统一的封装,添加日志、告警、编码转换等功能。配置方式如下:






serverEncoding=ISO-8859-1;clientEncoding=GBK;defaultRowPrefetch=50;bigStringTryClob=true

其中connectionProperties中包含serverEncoding、clientEncoding两个属性。在Java读取到数据后,如果发现serverEncoding、clientEncoding不同,则会自动进行如下编码转换。

new String(s.getByte(serverEncoding), clientEncoding)

3、weblade ibatis callback

它采用了如下注册ibatis callback的方式。













使得在默认情况下,程序会把ibatis获取到的String进行如下编码转换:

new String(s.getByte(“ISO-8859-1”), “GBK”)

该二方库引入的方式如下:


com.alibaba.asc.shared
weblade.core.ibatisext
1.2.0-SNAPSHOT

Ibatis callback隐藏了编码转换的过程,但问题是它对项目中所有的数据源生效。使得无法同时透明地支持需要转码和无需转码的数据源。

相关推荐:编程视频课程


分享标题:javaoracle中文乱码怎么办
链接分享:http://cdiso.cn/article/cjdsij.html

其他资讯