中文乱码

前端:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

var url = action+'?method=goToInfoMaintenance'+'&orgName='+encodeURI(encodeURI(oN));

get 请求:参数加  encodeURI(encodeURI(oN)) 编码

后端:

request.setCharacterEncoding("UTF-8");

URLDecoder.decode(request.getParameter("orgName"), "UTF-8");  解码

 

工具类:

  /**
     * 字符串utf-8加密处理(仅仅http接口request时有使用)
     *
     * @param string
     * @return
     */
    public static String encryption(String string) {

        try {
            string = URLEncoder.encode(string, "utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return string;
    }

    /**
     * 字符串utf-8解密处理(仅仅http接口request时有使用)
     *
     * @param string
     * @return
     */
    public static String decipher(String string) {
        if (!(java.nio.charset.Charset.forName("GBK").newEncoder().canEncode(string))) {
            try {
                string = new String(string.getBytes("iso8859_1"), "utf-8");
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
        }
        return string;
    }

posted @ 2020-03-13 11:00  暗夜消辰  阅读(764)  评论(0)    收藏  举报