加上这句
<%@ page contentType="text/html;charset=gb2312"%>

解决方案 »

  1.   

    已经有这句了,我发现Sql语句传过去的时候都已经是???号了,
      

  2.   

    String tempDept=String(txtDept.getBytes("8859_1"), "GB2312");
      byte[] temp=tempDept.getBytes("8859_1");
      String  txtDept=new String(temp,"GB2312");  String strSql="insert into dept (dept_id,dept) values('"+strID+"','"+txtDept+"')";
    System.out.println(strSql);//打印到Tomcat里是中文
    在tomcat里面显示的是中文,但是到数据库Oracle里面却是乱码,这是怎么一回事亚?
      

  3.   

    我也出现同样问题,在ORACLE 9I中是“???”,而且在页面中也是,但是加了
    <%@page contentType="text/html;charset=gb2312"%>,
    哪个高人请赐教!
    关注
      

  4.   

    将字符串这样转换:
    String tmpname=request.getParameter("name");
    String name = new String(tmpname.getBytes("ISO8859-1"),"gb2312");
    加上我这句,就可解决字符串问题。
      

  5.   

    我也在学 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");%>注意,不是显示的问题,而是提交的问题。可以用 Oracle 的 Sql Plus 查一下就知道了,如果提交前不用 setCharacterEncoding ,则数据库里的中文的值显示为 ???