标签:isp iso exce nal blog private oge coder bool
在做关于 Java Web 的项目中,有时候项目的整体设置为 utf-8 编码以后,你还是会发现项目还是乱码。
正如下图所示:

虽然在代码中,加入了:request.setCharacterEncoding("utf-8"); 结果还是会乱码。
/**
* 插入管理员
*/
@WebServlet("/intsertinfo")
public class IntsertAdmininfoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public IntsertAdmininfoServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UpdateAdminTrueServlet u=new UpdateAdminTrueServlet();
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
String LoginName=request.getParameter("loginname");
String Password=request.getParameter("password");
String RealName=request.getParameter("realname");
String LastLoginIP="127.0.0.1";
String sql="INSERT INTO [dbo].[Admin] ([LoginName],[Password],[RealName],[LastLoginIP]) VALUES (‘"+LoginName+"‘, ‘"+Password+"‘,
‘"+RealName+"‘, ‘"+LastLoginIP+"‘) ";
try {
SqlHelp sh=new SqlHelp();
boolean h=sh.insert(sql);
if(!h)request.getRequestDispatcher("/listAllAdmin").forward(request, response);
else System.out.println("插入失败!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
为了解决这个问题,我们得定义一个类,代码如下:
/**
* 对字符串进行解码
*
* @param string
* 需要转码的字符串
* @param codeMode
* 目标格式
* @return 转码后的字符串
*/
public static String decoder(String string, String codeMode) {
try {
String s = new String(string.getBytes("ISO-8859-1"), codeMode);
return s;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
加入这个方法。然后调用这个方法,传入解码的 string(字符串) 和 codeMode(编码的方式),就可以了。
String lname=decoder(request.getParameter("loginname"),"utf-8");
String rname=decoder(request.getParameter("realname"),"utf-8");

希望对您有帮助,欢迎点赞。
标签:isp iso exce nal blog private oge coder bool
原文地址:http://www.cnblogs.com/gzbit-zxx/p/6731233.html