oracle数据库bolb字段乱码

情况如下:

      有两台机,一台是本机,开发用的(window),一台是服务器(linux),分别安装java环境,各自跑tomcat,只是数据库是用服务器上的那个oracle,现在开发的那台机里访问一个页面,如:http://192.168.2.100/news/index.jsp,页面一切正常,没有出现乱码。但如果是将URL地址改为服务器上的,如:http://192.168.2.110/news/index.jsp就会出现乱码了。只是bolb字段的数据是这样,其它的正常。

     

       竟然只是bolb字段出现乱码就好办了,想了一想,应该是在pojo里,取bolb字段时没有设定字符集的原因,将pojo里的bolb字段的get方法增加一个如:

     

      

public String getContextString(){
    if(this.context!=null){
         return new String(context,"GBK")
    }else{ return ""; }    
}

 

    更新到服务器上,页面一切正常了。由于原来的没有指定字符集的编码,所以导致出现了乱码。但 现问题是,数据都是用服务库上的那个oracle,如果是乱码的话,那无论是本机的还是服务器上的页面,打开时都应该是乱码才对的。但为什么就是本机上的没有出现乱码,而服务器上的就会出现呢?莫非是与在没有指定字符集时就会默认采用操作系统默认的那个字符集的原因?如果真的是如此,那应该对bolb字段在pojo里都增加两个方法,一个是上面的那个get,还应该增加一个set的方法如:

public void setContextString(String context){
    this.context = context.getBytes("GBK");
}

 

指定保存了在数据库里的采用的字符集编码!不过到底是不是这个原因就不肯定了。呵呵....

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值