TomcatはURIの中国語パラメータを受け入れます。

1064 ワード

TomcatはデフォルトではISO-859-1でURI中のパラメータを処理します。
したがって、URIパラメータにUTF-8符号が含まれていると、そのまま読み込むと文字化けが発生します。
二つの解決方法:
1.配置を変更し、tomcatのserver.xmlのconnectorにURIEncoding=「UTF-8」を追加します。
 
 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
               compression="on"   
               compressionMinSize="50" 
               noCompressionUserAgents="gozilla, traviata"   
               compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
               URIEncoding="UTF-8"
               />
 2.またはプログラムを変更して、受け取ったパラメータを変換します。
 
 
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//....
    String value=req.getParameter(key).getBytes("ISO-8859-1"),"UTF-8")
//...
}