修改 bin/catalina.sh:
JAVA_OPTS="-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Duser.timezone=GMT+08 ${JAVA_OPTS}" (-Dsun.jnu.encoding=UTF-8可有可無)
或修改 conf/web.xml (有修改catalina.sh就不用改web.xml)
setCharacterEncodingFilter org.apache.catalina.filters.SetCharacterEncodingFilter encoding UTF-8 setCharacterEncodingFilter /*
修改 conf/server.xml:
<Connector port="80" protocol="HTTP/1.1" ... URIEncoding="utf-8" useBodyEncodingForURI="true" ... >
URIEncoding:對於URI,決定要以何種編碼來處理。
useBodyEncodingForURI:對於URI,決定是否要以request HEADER中的Content-Type中的編碼類型訊息、或request.setCharacterEncoding()方法中指定的編碼來處理,若為false則一律以URIEncoding所指定的編碼來處理。
而編寫網頁時,最好能自行將下載鏈結等先做URL Encode,而不是讓瀏覽器去幫你做,因為不是每個瀏覽器都會自動以URL Encode(UTF-8)來傳送的。 如果是有在寫jsp,那麼在web.xml加上:
*.jsp UTF-8
沒有留言:
張貼留言