重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了解决java oracle中文乱码的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
成都创新互联公司是一家专业提供浏阳企业网站建设,专注与成都网站设计、成都网站建设、HTML5建站、小程序制作等业务。10年已为浏阳众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
java oracle中文乱码的解决方法:1、将读到的字符串s,则进行纯手工转码,代码为【new String(s.getByte(A), B)】;2、使用druid对各种数据库驱动做了一层统一的封装,编码转换。
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隐藏了编码转换的过程,但问题是它对项目中所有的数据源生效。使得无法同时透明地支持需要转码和无需转码的数据源。
感谢你能够认真阅读完这篇文章,希望小编分享解决java oracle中文乱码的方法内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!