java oracle中文乱码怎么办

发布时间:2025-02-08 点击:15
java oracle中文乱码的解决方法:1、将读到的字符串s,则进行纯手工转码,代码为【new string(s.getbyte(a), b)】;2、使用druid对各种数据库驱动做了一层统一的封装,编码转换。
【相关学习推荐:java基础教程】
java oracle中文乱码的解决方法:
转码方法
当java读oracle遇到中文乱码时,我们就需要进行转码。转码的方法很多,我接触过的有以下几种。
1、纯手工转码
将读到的字符串s进行转码,如:new string(s.getbyte(a), b)
2、druid
druid是阿里巴巴自己开发的一个驱动,它其实是对各种数据库驱动做了一层统一的封装,添加日志、告警、编码转换等功能。配置方式如下:
<bean id="opensqldatasource"class="org.apache.commons.dbcp.basicdatasource"destroy-method="close"><property name="driverclassname" value="com.alibaba.china.jdbc.simpledriver" /><property name="url" value="jdbc:oracle:thin:@10.20.130.210:1521:dwtest" /><property name="username" value="etl" /><property name="password" value="etl" /><property name="connectionproperties"><value>serverencoding=iso-8859-1;clientencoding=gbk;defaultrowprefetch=50;bigstringtryclob=true</value></property></bean>其中connectionproperties中包含serverencoding、clientencoding两个属性。在java读取到数据后,如果发现serverencoding、clientencoding不同,则会自动进行如下编码转换。
new string(s.getbyte(serverencoding), clientencoding)3、weblade ibatis callback
它采用了如下注册ibatis callback的方式。
<bean id="sqlmapexecutordelegate"class="com.asc.alibaba.dao.ibatis.sqlmap.engine.impl.sqlmapexecutordelegate"><property name="mappedstatementstrategy" ref="mappedstatementstrategy" /><property name="handlerlist"><list><ref bean="stringhandler" /><!-- <ref bean="objecthandler" />--></list></property></bean><bean id="stringhandler" class="com.asc.alibaba.dao.ibatis.handler.typehandleradapter"><property name="javatype" value="java.lang.string" /><property name="handlercallback" ref="stringtypehandlercallback" /></bean>使得在默认情况下,程序会把ibatis获取到的string进行如下编码转换:
new string(s.getbyte(“iso-8859-1”), “gbk”)该二方库引入的方式如下:
<dependency><groupid>com.alibaba.asc.shared</groupid><artifactid>weblade.core.ibatisext</artifactid><version>1.2.0-snapshot</version></dependency>ibatis callback隐藏了编码转换的过程,但问题是它对项目中所有的数据源生效。使得无法同时透明地支持需要转码和无需转码的数据源。
相关推荐:编程视频课程

网站怎么又被停了-虚拟主机/数据库问题
阿里云服务器和联通服务器区别
河南云服务器价格表
支付宝还会远吗?微信支付已接入了银联清算体系
无忧云上新四川德阳高防云服务器
php fpm进程数如何设置
网站定制需满足5点,你网站符合吗
如何申请个人主页