这两天在用autoSuggest的插件时遇到向后台传参数中文乱码的问题,研究了下autoSuggest里是用escape()将参数进行了编码,后来我把它改成了encodeURI()进行了编码,想在后台用URLDecoder.decode进行解码,可是对传到后台得乱码一点用都没有,于是使用了fname = new String(fname.getBytes("ISO-8859-1"), "UTF-8");问题就解决了。
在Java中String.getBytes(String decode)会根据指定的编码返回某字符串在该编码下得byte数组表示;而与getBytes相对,可以通过new String(byte[],decode)的方式来还原中文,这个new String(byte[],decode)实际是使用了decode指定的编码来将byte[]解析成字符串