Get请求参数中文乱码问题整理

请求的编码一般为ASCII字符集,所以不包括中文韩文这种字符,所以再请求之前,在js里需要进行编码

在js里,我们经常使用enCodeURL()来改变编码,但我们需要注意一点是:服务器端我们用getParameter来接收参数,这个方法比较坑的是会自动解码一次,一般为iso-8859-1的解码方式,所以如果我们用enCodeURL进行UTF-8编码的话,到服务器端是会解码错误的,这里我们利用一点,enCodeURL对中文字符编码之后形成ASCII对应十六进制的数组,如果第二次进行编码的话是与iso-8859-1的编码是一样的,因为中文字符已经被编码了,所以我们在getParameter的时候解码iso-8859-1是可以直接得到enCodeURL第一次的结果,再在服务器端使用URLDecoder.decode(name,"UTF-8");我们就可以得到未编码的url,即我们所要

 

你可能感兴趣的:(项目制作)