JSP页面输入中文而在数据库里显示的是乱码,这是怎么回事啊
我的代码是这样的,就是如果输入的是中文的话,数据库里显示的数据就是乱码,请问是怎么回事啊?<%@pagecontentType="text/html;charset=gb...
我的代码是这样的,就是如果输入的是中文的话,数据库里显示的数据就是乱码,请问是怎么回事啊?
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.Date" errorPage="" %>
<html>
<head>
<title>添加成功</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
<body>
<%
String tstna=request.getParameter("shijuanming");
String tstid=request.getParameter("shijuanhao");
java.util.Date regTime=new java.util.Date();
String register_Time=regTime.toString();
String query="insert into shijuanbiao (Id,testName) values ('"+tstid+"','"+tstna+"')";
//try
//{
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test";
String username="sa";
String pwd1="";
Connection connWeb=DriverManager.getConnection(sConnStr,username,pwd1);
Statement stmt=connWeb.createStatement();
stmt.executeUpdate(query);
stmt.close();
connWeb.close();
out.println("恭喜!您添加的信息已经写进数据库!");
//}
//catch (SQLException e)
//{
// out.println(e.getMessage());
//}
%>
</body>
</html> 展开
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.Date" errorPage="" %>
<html>
<head>
<title>添加成功</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
<body>
<%
String tstna=request.getParameter("shijuanming");
String tstid=request.getParameter("shijuanhao");
java.util.Date regTime=new java.util.Date();
String register_Time=regTime.toString();
String query="insert into shijuanbiao (Id,testName) values ('"+tstid+"','"+tstna+"')";
//try
//{
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test";
String username="sa";
String pwd1="";
Connection connWeb=DriverManager.getConnection(sConnStr,username,pwd1);
Statement stmt=connWeb.createStatement();
stmt.executeUpdate(query);
stmt.close();
connWeb.close();
out.println("恭喜!您添加的信息已经写进数据库!");
//}
//catch (SQLException e)
//{
// out.println(e.getMessage());
//}
%>
</body>
</html> 展开
2个回答
展开全部
把你获取的页面的数据用DB的编码方式重新编码一下再存入DB。
如String tstna=request.getParameter("shijuanming");
改成String tstna=request.getParameter("shijuanming");
tstna = new String(tstna.getBytes("ISO-8859-1", "GB2312"));
后面的一个编码方式,如果DB是GB2312,那就是这个,如果不是,改成DB相应的编码方式就行了。
如String tstna=request.getParameter("shijuanming");
改成String tstna=request.getParameter("shijuanming");
tstna = new String(tstna.getBytes("ISO-8859-1", "GB2312"));
后面的一个编码方式,如果DB是GB2312,那就是这个,如果不是,改成DB相应的编码方式就行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询