jsp裡include html檔案中文亂碼
阿新 • • 發佈:2019-02-14
在jsp裡包含html檔案在網頁開發中是經常遇到的一件事,同樣用tomcate來裝載jsp更是每個初學者都會使用的方式,
但是結果並不總是美好的,亂碼,就這樣出現了。
在網上搜索了很多解決辦法,終於解決了亂碼的問題。
亂碼出現的原因不用說,肯定是編碼方式的問題,以utf-8編碼為例進行討論,根據實際使用的編碼方式,可以進行調整,下面的討論都基於windows作業系統。
出現亂碼,首先要注意的地方:
1、jsp檔案的編碼方式是否為utf-8
檢視編碼方式的方式有很多,可以自行百度。在eclipse裡右鍵點選檔案,在屬性對話方塊裡resource頁簽下, 通過Text file encoding就可以檢視當前編碼方式,也可以修改編碼方式。
2、jsp檔案的聲明裡編碼方式是否是utf-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
3、html檔案編碼方式是否是utf-8
檢視方式同1
4、如果html是個完整的html檔案,檢視是否進行了編碼方式說明,如果沒有head標籤,可以跳過此步。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title >首頁</title>
</head>
前面4個地方的編碼問題都解決了,可是問題還沒解決。
問題描述:
在Eclipse裡直接啟動tomcate,然後瀏覽頁面,所有頁面上中文都可以正常顯示,
但是用startup.bat啟動後,瀏覽的時候出現亂碼。
解決辦法 :
在tomcat安裝目錄的bin檔案下,找到catalina.bat檔案,在
rem JAVA_OPTS (Optional) Java runtime options used when any command
rem is executed.
rem Include here and not in CATALINA_OPTS all options, that
rem should be used by Tomcat and also by the stop process,
rem the version command etc.
rem Most options should go into CATALINA_OPTS.
下面新增如下程式碼:
set JAVA_OPTS=-server -Dfile.encoding=utf-8
啟動tomcat,中文可以正常顯示了。
新的問題又出現了…
用startup.bat啟動tomcat,中文總算不出現亂碼了,但是,把tomcate部署到windows系統服務後,亂碼又出現了。
解決辦法:
在windows系統變數裡新增一個新的變數,:
變數名:JAVA_TOOL_OPTIONS
值 :-Dfile.encoding=UTF-8
現在中文亂碼的問題已經解決了。
每個人遇到的情況可能都不盡相同,網上有人是用配置web.xml的方式解決亂碼,但是我試了卻無法解決問題,所以上面的辦法也不是萬能的。