頁面中的"中文路徑"圖片不顯示的問題

默認的tomcat容器若是直接使用get方式在url中傳中文時,傳到後臺接收會是亂碼。html

 

亂碼問題

緣由:

tomcat默認的在url傳輸時是用iso8859-1編碼。瀏覽器

 

解決方案一:

在使用get傳輸參數時,將參數中的中文轉換成url格式,也就是使用urlEncode和urlDecode來傳輸,使用這種方式就是把中文轉換成以%開頭的編碼在url中傳輸。tomcat

使用這種方法時,要注意兩點。編碼

1.前臺使用urlencode,在後臺相應的使用urldecode。url

2.使用urlencode的內容是參數內空。千萬要注意,他是會把等於號等符號也給轉換了。因此,最好是先把參數傳換後再進行拼接。而不是把url拼接好再去轉換。spa

 

解決方案二:

配置tomcat,使用其在url傳輸過程當中使用相應的支持中文的編碼。通常國內的喜歡用gbk或gb2312。我我的建議使用utf-8code

在tomcat的/conf/server.xml文件中,找到如下這一行。server

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />xml

這行的意思也就是使用8080端口來接收html的請求。在這裏能夠加幾個參數來配置不一樣的效果。htm

 

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" />

 

要想頁面打開更快點,就開啓內容壓縮功能,固然,前提是瀏覽也支持這種壓縮。