作一個積極的人html
編碼、改bug、提高本身java
我有一個樂園,面向編程,春暖花開!mysql
最近剛使用IDEA,在開發一個功能的時候,開始使用Jetty做爲容器進行web項目開發,測試經過。而後想了一下線上服務器使用的容器是Tomcat,仍是用Tomcat跑一下項目在測試一下,本地和服務器使用相同的容器,這個能夠避免由於容器不一樣而致使本地測試經過,而上線又出現莫名的錯誤~! 就在我從Jetty切換到Tomcat,就發生了問題,訪問JSP頁面使用response輸出,出現了亂碼!!!web
就是下面這些東東:(這是什麼啊!萌幣中。。。。。)spring
����⣺ ����⣺ ����⣺ ����⣺ ����⣺ ����⣺ ����⣺
複製代碼
這非常鬱悶,本想着一次性測試經過,沒想到這裏又讓我停留! 看到亂碼,內心不要懼怕,沒關係張!冷靜下來進行分析,看哪裏出現問題!sql
開始思考:數據庫
show variables like 'character%'編程
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /aebiz/soft/mysql/share/charsets/
複製代碼
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443"/>
複製代碼
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
複製代碼
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
複製代碼
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
複製代碼
str = tmpWriter.getByteArrayOutputStream().toString("utf-8");
複製代碼
所有都檢查過以後,發現所有是utf-8。大寫的一個懵字,所有是utf-8怎麼仍是會有亂碼出現呢?bash
好憂傷,難道是還有什麼地方沒有設置嗎,我一想,是否是IDEA結合Tomcat編碼設置有問題致使的呢?按照這個思路發現奇蹟就在前面!服務器
在配置Tomcat的時候添加一些參數。以下(開始是沒有設置-Dfile.encoding=UTF-8)
-server
-Xms1024m
-Xmx2048m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+CMSClassUnloadingEnabled
-XX:+PrintGCDetails
-Xloggc:%M2_HOME%/gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=%M2_HOME%/java_pid.hproyuan
複製代碼
用搜索引擎發現下面博文:Eclipse、IDEA環境下設置jvm默認編碼
因而添加VM參數添加
-Dfile.encoding=UTF-8
配置參數就是
-server
-Xms1024m
-Xmx2048m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+CMSClassUnloadingEnabled
-XX:+PrintGCDetails
-Xloggc:%M2_HOME%/gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=%M2_HOME%/java_pid.hproyuan
-Dfile.encoding=UTF-8
複製代碼
啓動發現頁面亂碼不見了,但是控制檯有出現了亂碼,亂碼真是 生生不息 啊!
因而配置idea安裝目錄下的bin文件夾,idea.exe.vmoptions文件中
添加一條配置信息:-Dfile.encoding=UTF-8
so,一切都解決了!完美!
謝謝你的閱讀,若是您以爲這篇博文對你有幫助,請點贊或者喜歡,讓更多的人看到!祝你天天開心愉快!
無論作什麼,只要堅持下去就會看到不同!在路上,不卑不亢!
願你我在人生的路上能都變成最好的本身,可以成爲一個獨擋一面的人
© 天天都在變得更好的阿飛雲