• 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");
    

      

    希望对您有帮助,欢迎点赞。

  • 相关阅读:
    响应者链的事件传递过程
    事件的产生和传递
    UIView不接受触摸事件的三种情况
    利用UIActivityController调用ios系统自带的分享功能,实现微信发布多图的功能
    CALayer
    CATransition-转场动画
    iOS分类、延展和子类的区别
    ios如何普安短图片类型
    使用Google code + SVN进行多人开发
    搭建CppUnit错误总结
  • 原文地址:https://www.cnblogs.com/gzbit-zxx/p/6731233.html
Copyright © 2020-2023  润新知