为什么插入数据库中的中文为乱吗
package com.bean;
import
java.io.IOException;
import java.io.PrintWriter;
import
javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//注册servlet
public class NewUserLoginServlet extends HttpServlet {
public NewUserLoginServlet() {
super();
}
public void init() throws
ServletException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,
IOException {
String name = request.getParameter( "username ");
String pass = request.getParameter( "password ");
String sex = request.getParameter( "sex ");
String email = request.getParameter( "email ");
String Phone = request.getParameter( "tel ");
// javaBean---------
PersonManager pb = new PersonManager();
pb.setName(name);
pb.setPass(pass);
pb.setSex(sex);
pb.setEmail(email);
pb.setPhone(Phone);
//调用insert()如果用户注册成功的话就从定向到指定网爷
boolean result = ConnectionDatabase.insert(pb);
if (result)
response.sendRedirect( "success.html ");
else
response.sendRedirect( "login.html ");
}
public void destroy() {
super.destroy();
}
}
------解决方案--------------------老问题了,设置编码方式,转码,过滤器
------解决方案--------------------当数据参数通过请求传递时被自动转换成8859-1编码,所以你看到是乱码,需要进行响应的转码.
------解决方案--------------------编码问题,我开始也碰到了,呵呵。
String name = new String(request.getParameter( "username ").getBytes( "ISO8859-1 ", "gb2312 "));
其余的同理!