oracle 数据库里面java存储过程要 访问一个页面,并传递一个中文参数。
oracle9i的版本,数据库编码是utf-8,jsp页面编码是gb2312,
在数据库中写url的时候, 进行转换类似java.net.URLEncoder.encode(strs,"utf-8"); 报错,
提示:Wrong number of arguments in method
在页面中获取后是乱码
strnm=java.net.URLDecoder.decode(strnm,"utf-8");
String tempnames = new String(strnm.getBytes("utf-8"),"GB2312");  

解决方案 »

  1.   

    在web.xml里面加一个Filter过滤器。
    http://blog.csdn.net/mantisXF/archive/2007/06/27/1669041.aspx
      

  2.   

    楼上可能没有看清楚,我现在的情况是这样的,
    我用一个jsp页面跳转 到另一个页面的时候,就没有问题,可以获取到中文参数。url 类似 http。。aaa.jsp?para=你好
    但是在oracle 里面写Java存储过程就不行,
    在oracle里面 用 java.net.URL 访问一个页面,带中文参数,就不行,页面获取的参数就是乱码。oracle服务器编码是 utf-8,jsp是gb2312
      

  3.   

    你在另外一个页面取para数据时要转换编码集,当用了Filter过滤器就不用考虑这个问题了。GOOGLE ..
      

  4.   

    可能是我没有说清楚,直接说代码吧
    在orcle 里面
    String name="你好";
    String names=java.net.URLEncoder.encode(name,"GB2312");  --这条语句在oracle里面,编译都通不过,在jsp页面里面写是可以的,而且传值也没有问题。 
    String sURL = "http://www.baidu.com/tesy.jsp?nm="+names;java.net.URL url = new java.net.URL(sURL);
    ......
    或者还有没有其他的方式可以访问。
    oracle 是Windows2003,而jsp页面放在是Linux里面的
      

  5.   

    oracle中java存储过程 访问页面是的中文编码问题,有没有人知道啊