unicode字符插入到数据库?
我想在servlet里使用unicode接受前一个页面的值,插入到数据库后重新在页面显示。有什么好方法吗?我写的有问题,不能正确显示传过来的值,也不能正确显示插入数据库后提取出来的值。
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
request.setCharacterEncoding("UTF-8");
String sample = request.getParameter("Uname");
String sample2 = new String(sample.getBytes(),"iso-8859-1");
System.out.println(1);
ServletOutputStream sos = response.getOutputStream();
PrintWriter out = new PrintWriter(sos);
out.println("<html>");
out.println("<head><title>Morning</title></head>");
out.println("<body>");
out.println("<br>"+ sample);
out.println("<b>Hello,Byte</b>");
out.println("</body></html>");
DataModule1 dm = DataModule1.getDataModule();
System.out.println(2);
try {
Connection con = dm.getDatabase1().getJdbcConnection();
Statement stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO addrtab(TEL) VALUES('" + sample2 + "')");
System.out.println("insert ok");
ResultSet rs = stmt.executeQuery("SELECT * FROM addrtab");
out.println(rs.next());
System.out.println("select ok");
while(rs.next()) {
String x = new String(rs.getString(3).getBytes(),"UTF-8");
System.out.println(x);
out.println("Name:" + rs.getInt(1)+"tel:" + x + "<br>");
}
System.out.println(4);
}
catch(Exception e){
System.out.println("step ex");
e.printStackTrace();
}
finally{
dm.getDatabase1().closeConnection();
}
System.out.println(5);
out.println("<p>The servlet has received a POST. This is the reply.</p>");
out.flush();
}