用Eclipse编写的jsp页面,连接的是mysql数据库。英文和数字都能正常显示,中文就显示不了。
用户注册...用Eclipse编写的jsp页面,连接的是mysql数据库。英文和数字都能正常显示,中文就显示不了。
用户注册Connection con=null;
Statement stmt=null;
ResultSet rs=null;
request.setCharacterEncoding("UTF-8");
String no=request.getParameter("no");
String name=request.getParameter("name");
String age=request.getParameter("age");
String email=request.getParameter("email");
String tel=request.getParameter("tel");
%>
您提交的内容如下
no:
name:
age:
email:
tel:
使用jdbc将用户注册信息保存到数据库中
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/hello?user=root&password=12345&useUnicode=true&characterEncoding=GB2312");
stmt=con.createStatement();
String upd="INSERT INTO people(no,name,age,email,tel)"+"values('"+no+"','"+name+"','"+age+"','"+email+"','"+tel+"')";
//out.println(upd);
stmt.executeUpdate(upd);
String query="select * from people";
rs=stmt.executeQuery(query);
%>
从people中取出所以数据
号码 | 姓名 | 年龄 | 电话 |
---|
while(rs.next()){
out.println("
");out.println("
"+rs.getString("no")+"");out.println("
"+rs.getString("name")+"");out.println("
"+rs.getString("age")+"");out.println("
"+rs.getString("email")+"");out.println("
"+rs.getString("tel")+"");out.println("
");}
}catch(SQLException sqle)
{out.println("sqle="+sqle);}
finally {try{rs.close();
stmt.close();
if(con!=null)con.close();
}
catch(SQLException sqle){out.println("sqle="+sqle);}
}
%>
若插入no=4,name=啊,age=3,email=3,tel=3则不能正常显示
即使提交的页面和数据库使用的是都是UTF-8也无法正常显示,字符以两个?的方式显示出来,怎么弄啊?帮帮忙吧!
展开