兄弟,有可能是你提交的时候POST到以上这个处理页面的时候得到的中文字符是乱码,不信的话你可以测试一下,在程序里面加上一个<% System.out.println(a); %>
另外请楼主特别注意:在tomcat+j2sdk下面对中文的支持有一种怪现象,如果你在提交页面使用了中文,post到处理页面将有可能会出现乱码!解决的办法如下:
在提交页面最顶上加上request.setCharacterEncoding("GB2312");

解决方案 »

  1.   

    更正一下<% request.setCharacterEncoding("GB2312");  %>
      

  2.   

    不是说过了吗,我把username转换成gbk或gb2312格式也不行
      

  3.   

    老大,你看清楚啊,不光是要换成GB2312,你还要在提交页面最顶上加上
    <% request.setCharacterEncoding("GB2312");  %>你到底加了没有了?
      

  4.   

    页头:<%@ page contentType="text/html;charSet=gb2312" %>里面:
    a=new String(a.getBytes("8859_1"),"GB2312");a=new String(a.getBytes("GB2312"),"8859_1");试着用,能显示出来中文就对了,没时间整理到底是那个了,自己试着用一下。我现在也在做oracle数据库相关的东西,中文问题解决了。
      

  5.   

    楼主注意oracle连接的释放啊,没用连接池,oracle连接释放不注意会呕死人的。<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
    String url="jdbc:oracle:thin:@localhost:1521:orcl"; String user="scott"; 
    String password="tiger"; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
    String sql="select * from test"; 
    ResultSet rs=stmt.executeQuery(sql); 
    while(rs.next()) 
    {}
    rs.close(); 
    stmt.close(); 
    conn.close(); 
    %>
      

  6.   

    你的数据库的中文字符集是不是有问题啊?oracle的字符集是要设置的啊。
      

  7.   

    我也在学 java,正在学习 jsp + bean + oracle 的知识,也是为中文显示的问题困惑了好几个小时了,看到这个贴子才算是把中文正确的搞进 oracle 9i 里头了。那个cucuchen(绝情酷哥)说的是正确的,其它高手们的方法我还没试,想必也是可以的。我之前还看了几十个贴子,现在总结一下,为后来学 jsp / oracle 的人省点时间:
    1.设置系统变量NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"; (最好是用oracle用户登陆服务器,修改/home/oracle/.bash_profile文件).
    2.在客户端(Windows)注册表中搜索NLS_LANG,将它也改为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK"(没有引号).
    3.修改sys.props$表:
        NLS_CHARACTERSET = 'ZHS16GBK'
        NLS_LANGUAGE = 'SIMPLIFIED CHINESE'
        NLS_TERRITORY = 'CHINA'
        NLS_NCHAR_CHARACTERSET = 'ZHS16GBK'
    4.插入值时要在提交页面最顶上加上<% request.setCharacterEncoding("GB2312");%>
      

  8.   

    注意,不是显示的问题,而是提交的问题。可以用 Oracle 的 Sql Plus 查一下就知道了,如果提交前不用 setCharacterEncoding ,则数据库里的中文的值显示为 ???