在web開發過程中經常要傳輸帶中文參數的url,而這些中文又解析成%D5%6E 的字符串。後臺得到這些參數需要解析成中文的形式。先提供Tomcat自動解析的方案。
tomcat的server.xml文件
<Connector port="9002" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
/>
修改後的文件
<Connector port="9002" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
可以看出只需要添加兩行配置就可以解決解析的問題,後臺收到參數後還是中文,不會出現亂碼。因爲瀏覽器是使用的utf-8編碼,而中文是unicode編碼,所以需要轉化一下。
在下載文件過程中,給文件流命名中文名,前臺在下載時會出現亂碼。
此時在後臺應該轉換編碼
fileFileName = “下載.rar”;
fileFileName = new String(fileFileName.getBytes("UTF-8"), "ISO8859-1");
前臺就可以正常收到中文字符了