问题背景:
用的是阿里云的linux服务器。
想让服务器同事支持php和java的项目,需要同事安装Apache、php和Tomcat。
由Apache解析域名地址,将java的项目再转发给tomcat处理。
以前服务器上只用到tomcat,在server.xml中的Connector标签加“URIEncoding="UTF-8"”就可以解决url中中文乱码的问题。
后来装了Apache做转发后发现中文都乱码了。
查找问题:
由于apache是使用的ajp进行转发的,所以之前的http的Connector已经用不到了。
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="image/jpeg,image/png,text/html,text/xml,text/javascript,text/css,text/plain" />
<Connector port="8009" URIEncoding="UTF-8" protocol="AJP/1.3" redirectPort="8443" />
解决问题:
如上,把线面ajp的Connector加上“URIEncoding="UTF-8"就行了