url中文地址亂碼
原因:
tomcat默認的在url傳輸時是用iso8859-1編碼。
解決方案一:
在使用get傳輸參數時,將參數中的中文轉換成url格式,也就是使用urlEncode和urlDecode來傳輸,使用這種方式就是把中文轉換成以%開頭的編碼在url中傳輸。
使用這種方法時,要注意兩點。
1.前臺使用urlencode,在後臺相應的使用urldecode。
2.使用urlencode的內容是參數內空。千萬要注意,他是會把等於號等符號也給轉換了。所以,最好是先把參數傳換後再進行拼接。而不是把url拼接好再去轉換。
解決方案二:
配置tomcat,使用其在url傳輸過程中使用相應的支持中文的編碼。一般國內的喜歡用gbk或gb2312。我個人建議使用utf-8
在tomcat的/conf/server.xml文件中,找到以下這一行。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
這行的意思也就是使用8080端口來接收html的請求。在這裏可以加幾個參數來配置不同的效果。
URIEncoding="UTF-8" 設置url傳輸時對url內容的編碼格式
compression="on" 打開壓縮功能
compressionMinSize="2048" 啓用壓縮的輸出內容大小,這裏面默認爲2KB
noCompressionUserAgents="gozilla, traviata" 對於以下的瀏覽器,不啓用壓縮
compressableMimeType="text/html,text/xml" 壓縮類型
對於要解決亂碼來說,改成以下就行
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
要想頁面打開更快點,就開啓內容壓縮功能,當然,前提是瀏覽也支持這種壓縮。
log日誌中文亂碼
修改catalina.sh
JAVA_OPTS="-Dfile.encoding=UTF-8"