tomcat啟動時候file.encoding的問題

來源:互聯網
上載者:User
linux 系統預設編碼utf-8
修改和查看linux編碼問題:
[html]  view plain copy [root@test-1 ~]# vi /etc/sysconfig/i18n   LANG="en_US.UTF-8"   SYSFONT="latarcyrheb-sun16"  

Linux預設編碼UFT-8,終端輸出預設編碼自然是UTF-8。

window中使用secureCRT預設編碼是GBK,連結到linux系統輸出亂碼,因為Linux預設是utf-8,所以把secureCRT的預設編碼修改為utf-8就ok。


WINDOWS 預設編碼GBK
瞭解了系統平台的的編碼,才容易解決編碼問題。
WIN7中tomcat啟動的控制台預設編碼是GBK,一般軟體預設採用系統預設字元集。
tomcat的應用一般常用的國際編碼是utf-8,應用輸出採用系統預設編碼GBK,

所以亂碼,再啟動jvm時設定成-Dfile.encoding="UTF-8",應用亂碼問題解決。


這裡又引出了另外一個問題:

 Java.NET.URLEncoder.encode("中國");   如果沒有加encoding 系統預設是系統編碼。System.getProperty("file.encoding");

如果你jetty ,tomcat 沒有在啟動的時候沒有加-Dfile.encoding="UTF-8" 這樣加密解密的時候就會出現編碼問題。

解決辦法:

原因是因為file.encoding預設的字元集跟作業系統有關,中文作業系統下面預設的字元集是GBK,如果流程定義的xml檔案中用UTF-8,

則不能正確轉換,所以需要修改file.encoding的值為UTF-8。

部署在tomcat中的檔案要修改file.encoding的值,可以在tomcat的catalina.bat檔案中set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%的後面加上 -Dfile.encoding="UTF-8"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.