在进行web开发时,前后台数据交换是很频繁的事情,但是有时候会发现,从前台传回后台作为参数的数据变成了乱码,从而不能将想要的数据返回前台,这是由于前后台编码方式不一致导致的,尤其是需要将前台的中文参数传回后台时,这种现象更容易发生。
那么如何更改前台页面的编码方式呢?第一个方法是打开eclipse工程目录下的Servers工程,这个工程是每次创建服务器时(例如tomcat)eclipse对于服务器的拷贝,我们在eclipse上运行的web项目会被部署在这个Servers工程下,在Servers工程的目录中,打开server.xml,将其中65行左右的Connector标签内容改为
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
因为所有请求的传递都是依靠tomcat等服务器进行处理和创建的。而tomcat在未进行任何设置的时候,默认的编码格式是ISO-8859-1,有时会出现中文乱码。
但是这样更改后,当重新创建新的服务器时,URI的编码方式又会变为默认,所以还有一种一劳永逸的方法,打开tomcat的根目录,/usr/local/apache-tomcat-7.0.82/conf,修改其中的server.xml,同样将第65行的Connector标签内容作如上修改即可。