数据库的中文问题还是比较好解决的,帮你理清一下思路,
最重要的是保证JSP显示的编码方式和从数据库中读取出来数据的编码方式是一样的!如果JSP是采用GB2312显示的,而数据库用us7ascii格式储存的,则从数据库里取出来的时候则要进行转码(细节略去)储存的时候反之,即把数据转为us7ascii的格式储存进去
最重要的是保证JSP显示的编码方式和从数据库中读取出来数据的编码方式是一样的!如果JSP是采用GB2312显示的,而数据库用us7ascii格式储存的,则从数据库里取出来的时候则要进行转码(细节略去)储存的时候反之,即把数据转为us7ascii的格式储存进去
如果JSP是采用GB2312显示的,而数据库用us7ascii格式储存的,则从数据库里取出来的时候则要进行转码 怎么进行转化!!!!
String s=new String(s.getBytes("ASCII"),"gb2312");
'明明','男','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
String s=new String(a.getBytes("UTF-8"),"gb2312");
试试看。
但是悠悠问题了,
我使用的sql语句 select * from employ
他就要出现异常
这是为什么?
但是使用select * from employ where deptno='it'
就可以