CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

hibernate和oracle 10g数据库的编码问题

楼主xxlcg(☆突突☆)2006-03-05 01:30:01 在 Java / 框架、开源 提问

在windows上的数据库跑得好好的,连到unix的某个数据库出现了问题。诊断为编码问题,但现在必须一个一个字段在存进数据库前转为数据库的编码,取出来的时候又一个一个转回来,请问hibernate有没有更好的选择?使用mysql在数据库连接后加参数的方法好象对oracle不起作用 问题点数:100、回复次数:4Top

1 楼sswater(光杆兵)回复于 2006-03-05 09:51:39 得分 50

Java   中解决   "编码"   问题和   C   语言中概念有些不同。  
   
  推荐搂住一篇讲解概念的文章,或许对搂主有帮助:  
  http://www.regexlab.com/zh/encoding.htm  
  Top

2 楼shendl(良少)回复于 2006-03-05 11:24:42 得分 50

像这种编码问题,你应该使用过滤器,在其中设置request.setCharacterEncoding("GBK");或者其他你数据库使用的编码。  
        过滤器过滤你使用编码的JSP页面或者Servlet,Action等资源。      
         
        你可以通过调试看一下,乱码,应该是传入JDBC方法的参数就是乱码。那是因为request传进来的字符没有得到正确的解码。  
        你可以看一下我的Filter。  
  package   com.withub.ccpws.common.util;  
   
  import   java.io.*;  
  import   javax.servlet.*;  
   
  public   class   SetCharacterEncodingFilter  
          implements   Filter   {  
      public   SetCharacterEncodingFilter()   {  
      }  
   
   
   
      /**  
        *   destroy  
        *  
        *   @todo   Implement   this   javax.servlet.Filter   method  
        */  
      public   void   destroy()   {  
      }  
   
      /**  
        *   doFilter  
        *  
        *   @param   servletRequest   ServletRequest  
        *   @param   servletResponse   ServletResponse  
        *   @param   filterChain   FilterChain  
        *   @throws   IOException  
        *   @throws   ServletException  
        *   @todo   Implement   this   javax.servlet.Filter   method  
        */  
      public   void   doFilter(ServletRequest   servletRequest,  
                                                ServletResponse   servletResponse,   FilterChain   filterChain)   throws  
              IOException,   ServletException   {  
   
          servletRequest.setCharacterEncoding("GBK");  
          filterChain.doFilter(servletRequest,servletResponse);  
      }  
   
      /**  
        *   init  
        *  
        *   @param   filterConfig   FilterConfig  
        *   @throws   ServletException  
        *   @todo   Implement   this   javax.servlet.Filter   method  
        */  
      public   void   init(FilterConfig   filterConfig)   throws   ServletException   {  
      }  
  }  
   
        把这段代码COpy过去,再设一下过滤得URL-pattern即可!Top

3 楼xxlcg(☆突突☆)回复于 2006-03-05 18:36:09 得分 0

感谢楼上的建议,但我的程序是在原有系统上加的,所以比较特殊,我现在从web拿到的是UTF-8,能否在oracle的连接上解决?Top

4 楼xxlcg(☆突突☆)回复于 2006-03-06 13:36:01 得分 0

hibernate和oracle连接怎么做编码转换,没有人试过吗?Top

相关问题

  • oracle开发编码问题!
  • oracle编码的问题(在线等待)
  • 关于tomcat4.0.1+JDK1.3+ORACLE+JDBC中字符编码的转换问题。
  • java中如何转换oracle中AMERICAN_AMERICA.WE8ISO8859P1编码格式
  • Oracle US7ASCII字符集在C#中对应的Encoding编码名称是什么?
  • ▓▓▓▓▓请问高手吗以下编码如可解码 =?gb2312?B?1tC5+g==?=▓▓▓▓▓
  • hibernate 访问数据库 oracle 8.1.7
  • 我的oracle AS不支持hibernate 3??
  • myeclipse的hibernate能用于oracle吗
  • hibernate连接ORACLE时CONNECTION关不了

关键词

  • 编码
  • 数据库
  • hibernate
  • 连接
  • oracle
  • servlet
  • servletrequest
  • filterchain
  • servletresponse
  • filterconfig

得分解答快速导航

  • 帖主:xxlcg
  • sswater
  • shendl

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo