Java中文乱码——4、Java读Oracle乱码

本文探讨了Java在读取Oracle数据时遇到的中文乱码问题,分析了不需要转码的原因,并详细介绍了三种转码方法:纯手工转码、使用Druid以及weblade ibatis callback。同时,还涉及到了RAC迁移的不同方案,包括websql、傻瓜平台和Ipage&task的使用。
摘要由CSDN通过智能技术生成
        最近进行RAC迁移,将US7ASCII编码的RAC替换成UTF-8编码的单点ORACLE,迁移后发现Java从新库读到的中文是乱码,这引发了我的考虑:
        1、Java为GBK,Oracle为ISO-8859-1时,Java读Oracle得到的中文是否会乱码?如何转码?
        2、Java为GBK ,Oracle为UTF-8时,Java读Oracle得到的中文是否会乱码?如何转码?
        结论让我很诧异,居然是:
        1、会乱码,需要通过newString (s.getByte(“ISO-8859-1”,”gbk”)进行转码
        2、不会乱码。

一、不需要转码的原因

        其实,无论Java、Oracle采用何种编码,在Java读Oracle都是不需要显式转码的。转码动作的动作会由Oracle驱动自动完成。确切地说,这还不算是转码,而只是解码。Oracle驱动仅仅是根据数据库定义的字符集,把读到的字节流解码成字符。
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值