關於Java中文亂碼(2)

長話短說,直接說說Java,尤爲是Tomcat對於編碼解碼的一點了解。瀏覽器

Get提交

對於直接 url 請求和表單的 get 提交,都是把數據串聯在 url 後面做爲參數。而Tomcat對此的態度是:首先獲取Connector的解碼集進行解碼,可配置server.xml:<Connector URIEncoding="utf-8" useBodyEncodingForURI="true"/>。若是沒有定義則會採用默認編碼 ISO-8859-1 來解析。 亂碼緣由探究:大部分瀏覽器在沒有指定頁面編碼的狀況下(如),都是使用UTF-8或GBK進行編碼,而server.xml大部分同窗也都沒有進行配置,故默認都是用 ISO-8859-1 來解碼。所以 get 請求出現亂碼頻率很高。 代碼解決方式new String(request.getParameter("name").getBytes("iso-8859-1″),"utf-8") 的形式來獲取正確數據。編碼

Post提交

對於Tomcat而言:默認使用頁面編碼方式的 ContentType 中設置的字符集來進行解碼,如沒有指定,則默認使用 iso-8859-1 進行解碼。 代碼解決方式request.setCharacterEncoding("utf-8")能夠指定解碼方式。url

相關文章
相關標籤/搜索