建议你写数据库时,把字符变为gb2312保存,读出数据时,不用变换,但要确保你的叶面也是gb2312

解决方案 »

  1.   

    看看你的jsp设了这个没有:
    <%@page language="java" contendtype="gb2312"%>
      

  2.   

    <%@page language="java" contendtype="gb2312"%>
    在我的程序中有这句话。按前面那位老兄的建议:
    建议你写数据库时,把字符变为gb2312保存,读出数据时,不用变换,但要确保你的叶面也是gb2312
    结果保存到数据库中的信息为乱码(都是?????).
      

  3.   

    不好意思,好像敲错了,反正是设置页面属性的东东。把jsp页面设置成gb2312的
      

  4.   

    我原来用的是informix的数据库,作法跟你的一样,就没有问题。不过我也听说过可以在数据库中的是乱码,而取出的数据经过转换后就正常的说法。或者你可以试试把字符集换成GBK
      

  5.   

    java.net.URLEncoder.encode(rs.getString("BZH"),
     建议你这样写,这是我以前用过的处理中文乱的一个例子,
     你看可以不可以?
      

  6.   

    可能与你的ORACLE字符集有关。
      

  7.   

    对了,你的oracle不要装汉化包,然后用你开始的方法存取中文,应该可以。如果装了汉化包,则在你的jdbc设置上codeset=GBK应该可以解决了。just  try
      

  8.   

    你用程序查询的数据直接通过oracle的sqlplus输入sql语句察看一下,如果显示不是乱码的话,就不用对取出的数据进行转换了,如果是乱码就对其进行转换。
      

  9.   

    你用什么服务器的,如果是weblogic就好办了
      

  10.   

    我也试过类似的情况,后来在写入数据库时用转换函数getstr(),在从数据库读出来时直接读出,即
    加上<%@ page contentType="text/html;charset=gb2312" %>后去掉getst()就可以了
    public static String GetStr(String s){
      try{
        if(s==null||s.equals("")) return "";
        String newstring=null;
         newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
        return newstring;
     }
    catch(Exception e)
     {
      return s;
     }
     }
      

  11.   

    可能跟你的oracle的字符集有问题;是不是用的UTF8?
      

  12.   

    简单方法
    <%@ page contentType="text/html;charset=8859_1" %>
      

  13.   

    在oracle里执行  SQL> select userenv('language') from dual;
    看你的字符集是什么?应该是SIMPLIFIED CHINESE_CHINA.ZHS16GBK才对,如果不对那就改吧!由于IE默认字符集为GB2312,然而Windows默认为GBK,Java则默认为Unicode,所以如果不通过一定的转换,直接在GB2312字符集上显示从GBK或Unicode得到的页面将是一片乱码。Java 语言采用Unicode处理字符,但从另一个角度来说,在Java程序中也可以采用非Unicode,重要的是保证程序入口和出口的汉字信息不失真。如完全采用ISO-8859-1来处理汉字也能达到正确的结果,经过转换之后并将网页字符集强制设为GB2312字符集显示,就能够正常显示汉字了。
      

  14.   

    我的oracle 字符集是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,应该是对的。
      

  15.   

    都设为GBK试试看吧!<%@ page contentType="text/html; charset=GBK" %>
      

  16.   

    1、确定数据库的字符集为GBK,
    2、接收JSP页面传过来的字符串(暂定名称为:ls_test)进行转换:
       ls_test= new String(ls_test.getBytes("ISO8859_1"), "GBK");
    3、进行查询、删除、修改等数据库操作。
    我已在本机调试成功,应该没有问题。
    你试一下
      

  17.   

    在你的显示页的第一行加
    <%@ page contentType="text/html;charset=gb2312"%>
    应该没问题.我的程序里全是这样的.