1. 程式人生 > >windows下在Eclipse中啟動的tomcat沒有亂碼,單獨部署到tomcat下亂碼解決方案

windows下在Eclipse中啟動的tomcat沒有亂碼,單獨部署到tomcat下亂碼解決方案

今天遇到了一個很奇怪的問題,在Eclipse中除錯,執行專案一切正常,專案的所有編碼都是統一的UTF-8。但是在單獨部署到tomcat上的時候出現了中文亂碼。

問題來源,這個是我用ckeditor編輯的頁面提交到後臺的

這裡寫圖片描述

提交之後將資料儲存到資料庫。

這裡寫圖片描述

解決方案

第一步:確保專案,jsp頁面,資料庫編碼統一使用UTF-8。

第二步:修改tomcat的引數

  • 第一處

tomcat安裝路徑/conf/server.xml

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
  • 第二處

tomcat安裝路徑/bin/catalina.bat

加上這麼一句話

set JAVA_OPTS=-Dfile.encoding=UTF-8

具體位置

這裡寫圖片描述

已經沒有亂碼了

這裡寫圖片描述

更新日誌

2016年12月27日,今天下午被中文亂碼折騰的四個人都加班到九點半。原來是自己寫的工具類不夠通用,在windows上會出現中文亂碼。

背景

在自己電腦上執行專案沒有亂碼(windows8,eclipse),部署到伺服器上(windows server 2008)上會出現讀取配置檔案中文亂碼。

所以把新的程式碼同步到部落格裡。參考地址

如果你的程式也出現了配置檔案中文亂碼,依次檢查檔案的編碼方式,其次檢查伺服器編碼的配置,檢查開發環境編碼的配置,檢查讀取配置檔案程式。

參考文獻