首页 > 代码库 > Java Web 乱码
Java Web 乱码
在做关于 Java Web 的项目中,有时候项目的整体设置为 utf-8 编码以后,你还是会发现项目还是乱码。
1.出现乱码实例
正如下图所示:
虽然在代码中,加入了: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(); } }}
2.解决乱码问题
为了解决这个问题,我们得定义一个类,代码如下:
/** * 对字符串进行解码 * * @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");
希望对您有帮助,欢迎点赞。
Java Web 乱码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。