日期:2014-05-16  浏览次数:20857 次

谁有jquery的ajax传递中文乱码的完美解决 方法 - Web 开发 / Ajax
众所周知jquery AJAX POST 的数据 只能使用utf-8编码 ,如果网页是GB2312的,那么服务端收到中文就是乱码
翻遍所有解决方案 都没有完美的解决办法

比如大多人提倡使用 escape编码 可是对于特殊字符如 全角的圆点 依然无法正常编码 

如果要用 post发回的参数本生就是一段html 那么就麻烦了,因为可能存在很多特殊字符,谁有最完美的编码方案

------解决方案--------------------
str=URLDecoder.decode(request.getParameter("str"), "gb2312").trim();

使用这种方法试一哈,如果还是不行的话,就多转一次

str=URLDecoder.decode(URLDecoder.decode(request.getParameter("str"), "gb2312").trim());
------解决方案--------------------
不好意思上面写错了

str=URLDecoder.decode(request.getParameter("str"), "gb2312").trim();

使用这种方法试一哈,如果还是不行的话,就多转一次

str=URLDecoder.decode(URLDecoder.decode(request.getParameter("str"), "gb2312").trim()),"gb2312");
------解决方案--------------------
post方法可以用encodeURI(encodeURI("value"));进行转码不知道可以不?