簡體   English   中英

Tomcat / Linux上的UTF-8和Servlet

[英]UTF-8 and Servlets on Tomcat/Linux

在Tomcat 6 / Linux上從servlet讀寫UTF-8時遇到了一些問題。 請求和響應是utf-8,瀏覽器是utf-8,在連接器和主機上的server.xml中都設置了URIEncoding。 簡而言之,代碼本身對我來說所有已知的東西,服務器配置都是utf-8。

在讀取請求時,我不得不從String中獲取字節數組,然后再次將該字節數組轉換為String。 在寫請求時,為了獲得正確的響應,我不得不寫字節,而不是String本身(否則,我會得到一個異常,說某些非ASCII字符不是有效的ISO 8859-1)。

更改LANG環境變量是解決問題的一種方法。

官方方法是在sevlet過濾器中設置字符編碼: http ://wiki.apache.org/tomcat/Tomcat/UTF-8

一些背景信息: http : //www.crazysquirrel.com/computing/general/form-encoding.jspx

解決方案是將LANG環境變量設置為(在我的情況下)en_US.UTF-8或任何其他UTF-8語言環境。 我仍然對這個事實感到困惑,因為我無法通過代碼做任何事情來使我的servlet正常運行。 如果沒有辦法,從我的角度來看,這是一個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM