jsp输出能显示中文,但输入mysql数据库时是怎么显示中文呢?(附有代码 )<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="design.*"%>
<html> <body>
<% String name;
String id;
name=new String(request.getParameter("name").getBytes("ISO8859_1"));
id=request.getParameter("id"); %>
<h2>你好<%=name%><%=id%> 号</h2> <% Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/shujuku?user=dkc1981&password=dkc811222&useUnicode=true&characterEncoding=GB2312" ;
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(); stmt.executeUpdate("insert into biao(id,name)"+"values(´"+id+"´,´"+name+"´)");
name= new String(name.getBytes("ISO8859-1"),"gb2312"); //这一句是我想输入中文转换的语句,但不起作用阿
String query="select * from biao order by id"; %>
<table width="200" border="1">
<%
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
String i=rs.getString("id");
String s=rs.getString("name");//看准你的字段是不是字符型,不然就不能用getString,根据字段类使用getBoolean等等
i=new String(i.getBytes("ISO-8859-1"),"GB2312");
s=new String(s.getBytes("ISO-8859-1"),"GB2312"); %>
<tr>
<td><%=i%></td>
<td><%=s%></td>
</tr> <%
}
%> </table>
</body>
</html>
假如我在cmd下输入中文的话能能输出中文,但是直接传递中文过来的话就会显示???请问一下应该怎么加一句语句才能是添加进mysql里面的中文能正常显示呢?
<%@ page import="java.sql.*"%>
<%@ page import="design.*"%>
<html> <body>
<% String name;
String id;
name=new String(request.getParameter("name").getBytes("ISO8859_1"));
id=request.getParameter("id"); %>
<h2>你好<%=name%><%=id%> 号</h2> <% Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/shujuku?user=dkc1981&password=dkc811222&useUnicode=true&characterEncoding=GB2312" ;
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(); stmt.executeUpdate("insert into biao(id,name)"+"values(´"+id+"´,´"+name+"´)");
name= new String(name.getBytes("ISO8859-1"),"gb2312"); //这一句是我想输入中文转换的语句,但不起作用阿
String query="select * from biao order by id"; %>
<table width="200" border="1">
<%
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
String i=rs.getString("id");
String s=rs.getString("name");//看准你的字段是不是字符型,不然就不能用getString,根据字段类使用getBoolean等等
i=new String(i.getBytes("ISO-8859-1"),"GB2312");
s=new String(s.getBytes("ISO-8859-1"),"GB2312"); %>
<tr>
<td><%=i%></td>
<td><%=s%></td>
</tr> <%
}
%> </table>
</body>
</html>
假如我在cmd下输入中文的话能能输出中文,但是直接传递中文过来的话就会显示???请问一下应该怎么加一句语句才能是添加进mysql里面的中文能正常显示呢?
具体可以参考这里:
http://www.blogjava.net/rickhunter/articles/33571.html