日元馬克在後的字符代碼轉換與未來關於Java
- 0x5c的兩種方式(ASCII)
- 的0xA5(UTF-8)
當我做表達Java6中的0xA5的POST,Struts2的環境,在我輸出的日誌中,我變成了0x5C。
在哪裏將字符代碼替換執行具體?
日元馬克在後的字符代碼轉換與未來關於Java
當我做表達Java6中的0xA5的POST,Struts2的環境,在我輸出的日誌中,我變成了0x5C。
在哪裏將字符代碼替換執行具體?
我相信你問的是什麼時候日元符號會變成ASCII--答案是當底層的默認字符編碼從UTF-8變爲ASCII時。這可能在一些地方發生:
你能提供一些關於你目前爲這些設置的更多信息嗎?
我認爲問題不在於字符轉換,而在於轉換或損壞。 ASCII中的字符5C是'\'。對我來說,什麼樣的錯誤轉換會使A5變成5C並不是顯而易見的。日元符號之前或之後的其他角色是否也被錯誤轉換?
開始尋找問題原因的前兩個地方是代碼將字符串轉換爲byte []並返回的位置。在客戶端轉換POST數據時,應確保您設置在HTTP請求Content-Type標頭中使用的字符集。然後在服務器端,確保您的代碼使用傳入請求的Content-Type標頭中指定的字符集。