admin管理员组

文章数量:1130349

目录

    • 原因1
    • 原因2
    • 原因3(问题解决)

原因1

  • 服务端获取数据时,获取到的就是乱码(通过debugger排除了)

原因2

  • 前后端字符编码不一致
  • 解决思路
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
  • 在服务端方法中添加字符编码设置,在客户端页面设置字符编码(未能解决)

原因3(问题解决)

  • 客户端获取中文乱码
  • 解决思路:
  • 服务端方法中添加如下代码:
//nickname是带中文的参数名
nickname = URLEncoder.encode(nickname, "utf-8");
  • 服务端使用ModelAndView进行重定向时,发现URL中文未乱码,但是页面中文乱码。(一开始使用的是String进行重定向)
function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
      var pair = vars[i].split("=");
      //问题出在这里,原来没有使用decodeURIComponent函数
      if(pair[0] == variable){return decodeURIComponent(pair[1]);}
    }
    return(false);
}
  • JavaScript decodeURIComponent() 函数
  • decodeURIComponent(URIstring)
参数描述
URIstring必需。一个字符串,含有编码 URI 组件或其他要解码的文本。

目录

    • 原因1
    • 原因2
    • 原因3(问题解决)

原因1

  • 服务端获取数据时,获取到的就是乱码(通过debugger排除了)

原因2

  • 前后端字符编码不一致
  • 解决思路
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
  • 在服务端方法中添加字符编码设置,在客户端页面设置字符编码(未能解决)

原因3(问题解决)

  • 客户端获取中文乱码
  • 解决思路:
  • 服务端方法中添加如下代码:
//nickname是带中文的参数名
nickname = URLEncoder.encode(nickname, "utf-8");
  • 服务端使用ModelAndView进行重定向时,发现URL中文未乱码,但是页面中文乱码。(一开始使用的是String进行重定向)
function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
      var pair = vars[i].split("=");
      //问题出在这里,原来没有使用decodeURIComponent函数
      if(pair[0] == variable){return decodeURIComponent(pair[1]);}
    }
    return(false);
}
  • JavaScript decodeURIComponent() 函数
  • decodeURIComponent(URIstring)
参数描述
URIstring必需。一个字符串,含有编码 URI 组件或其他要解码的文本。

本文标签: 乱码中文重定向URL