数据库的中文问题还是比较好解决的,帮你理清一下思路,
最重要的是保证JSP显示的编码方式和从数据库中读取出来数据的编码方式是一样的!如果JSP是采用GB2312显示的,而数据库用us7ascii格式储存的,则从数据库里取出来的时候则要进行转码(细节略去)储存的时候反之,即把数据转为us7ascii的格式储存进去

解决方案 »

  1.   

    另外你大可不必铲掉原先的数据库,并且用GBK做ORACLE的编码方式不是很合适
      

  2.   

    两位大虾不要卖关子了,小弟真正关注的部分你们都略去了
    如果JSP是采用GB2312显示的,而数据库用us7ascii格式储存的,则从数据库里取出来的时候则要进行转码 怎么进行转化!!!!
      

  3.   

    us7ascii->gb2312
    String s=new String(s.getBytes("ASCII"),"gb2312");
      

  4.   

    数据库中,employ表中的数据:
    '明明','男','12','ASDFADSF'
    '玲玲','女','10','DFGSDFGK'
    '丽丽','男','12','送你好心情
    '李生','男','10','法国带了两瓶浪漫
    我按你的方法对我的代码为:
    <%@ page contentType="text/html;charset=gb2312" %>
    <%@ page info="database handler"%>
    <%@ page import="java.io.*"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.servlet.*"%>
    <%@ page import="javax.servlet.http.*"%>
    <%@ page language="java" %><html>
    <body>
    <%Class.forName("oracle.jdbc.driver.OracleDriver");
           String url="jdbc:oracle:thin:@176.1.1.4:1521:ora8web";
           String user="wsy";
           String passwd="wsyan";
           Connection conn=DriverManager.getConnection(url,user,passwd);
      java.sql.Statement stmt=conn.createStatement();
      String sql="select * from employ";
      ResultSet rs=stmt.executeQuery(sql);
      while(rs.next()){
    String a=  rs.getString(1);
    String s=new String(a.getBytes("ASCII"),"gb2312");
      %>
      第一个字段内容为:<%=s%>
      
     <%}%>
      <p>
      </body>
      </html>但是,运行还是不可以!!!!
    帮我在看一看,多谢!!!!1
      

  5.   

    String s=new String(a.getBytes("ASCII"),"gb2312");改为
    String s=new String(a.getBytes("UTF-8"),"gb2312");
    试试看。
      

  6.   

    谢谢大家的帮忙,我使用8859_1可以了
    但是悠悠问题了,
    我使用的sql语句  select * from employ
    他就要出现异常
    这是为什么?
    但是使用select * from employ where deptno='it'
    就可以