问题描述:当我们在浏览器地址栏中输入url访问tomcat8.0以下的服务器时,服务器将url默认编码为ISO-8859-1类型,然后servlet接收到编码后的参数,中文出现乱码!
有两种解决方案:
第一种:对接收的参数进行二次编码
get请求>> name=new String(name.getBytes("ISO-8859-1"),"UTF-8");
post请求>> req.setCharacterEncoding("utf-8");
第二种:直接设置服务器的编码为UTF-8
tomcat的config文件夹下找到server.xml,在所有<Connector />中添加URIEncoding=“UTF-8”,如
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
到此,问题还没有彻底解决,因为IDEA的字体问题,导致调试时中文依然显示为方块,但console输出显示正常,因此通过file
-->setting-->Appearance-->Name,修改字体Tahoma为Microsoft Yahei,问题解决!