解决服务器收到的post数据出现部分乱码问题
今天遇到一个很奇怪的问题,当我使用Java代码进行post提交json数据时,服务器居然出现部分乱码的现象,这些部分乱码不是什么特殊的符号,而是普通的中文,比如:“互联??” 、“网互联网??网” 。我提交json数据时全部是utf-8编码,服务器也是采用utf-8编码,为什么会出现这样的乱码呢?很令人费解!
于是我就试试通过表单提交会出现这种情况吗,提交后发现服务器打印出的数据是URL编码:%E4%BA%92%E8%81%94%E7%BD%91,既然这样,我把Java代码的post数据也改成了URL编码:URLEncoder.encode(string,"utf-8"),然后服务器端再解码:URLDecoder.decode(str, "utf-8"),然后打印出的数据就是没有一点乱码的数据了。