读书人

为什么插入数据库中的中文为乱吗,该如

发布时间: 2012-02-29 16:44:10 作者: rapoo

为什么插入数据库中的中文为乱吗
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 "));
其余的同理!

读书人网 >Java Web开发

热点推荐