版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/ForeverCjl/article/details/36180933
在页面上提交数据到server有两种方式“GET”和“POST”,当使用“GET”时,传输的数据是直接拼接在URL后面的。当数据中含有对HTML来说不安全的字符比如中文时,就会被编码,一般採用的是UTF-8编码。这时URL已经被转义成相对安全的字符串。
此时再经过ios-8859-1的编码方式转换成二进制的形式尾随请求头一起发送到server端。
到达server端时,server也对数据进行两次解码,server先把数据经过ios-8859-1解码,然后依据server默认的编码进行第二次解码。在tomcat中,默认的编码是ios-8859-1。所以第二次解码用的是ios-8859-1而不是UTF-8,到此。server端收到的数据就是乱码了。
解决办法是改动tomcat的默认编码为UTF-8。改动方式例如以下:
在tomcat文件夹下conf中的server.xml中,在connector加上 URIEncoding="UTF-8"就可以。