中文亂碼,css檔案過濾器過濾
@WebFilter(urlPatterns = "/*")

沒加過濾器

為什么加了過濾器我反而亂碼了呢,idea的setting中的編碼都改成了utf-8
<!-- hello頁面html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
你好
</body>
</html>
/**
* 解決全站亂碼問題,處理所有的請求
*/
@WebFilter(urlPatterns = "/*")
public class CharchaterFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest req, ServletResponse rep, FilterChain filterChain) throws IOException, ServletException {
//將父介面轉為子介面
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) rep;
//獲取請求方法
String method = request.getMethod();
//解決post請求中文資料亂碼問題
if(method.equalsIgnoreCase("post")){
request.setCharacterEncoding("utf-8");
}
//處理回應亂碼
response.setContentType("text/html;charset=utf-8");
filterChain.doFilter(request,response);
}
@Override
public void destroy() {
}
}
uj5u.com熱心網友回復:
點擊瀏覽器控制臺上的hello.html,看看請求的response headeruj5u.com熱心網友回復:
編碼寫的也是utf-8
uj5u.com熱心網友回復:
感覺應該是檔案編碼不是utf8的,打開idea , 打開hello.html檔案,查看idea右下角字符編碼格式
不加過濾器時,估計response header中不是utf8
uj5u.com熱心網友回復:
就是utf-8,除錯資訊得編碼格式怎么看,沒找到
uj5u.com熱心網友回復:
不是除錯,只是單純的打開html檔案,然后idea右下角會顯示字符編碼
uj5u.com熱心網友回復:
感覺應該是檔案編碼不是utf8的,打開idea , 打開hello.html檔案,查看idea右下角字符編碼格式
不加過濾器時,估計response header中不是utf8就是utf-8,除錯資訊得編碼格式怎么看,沒找到
不是除錯,只是單純的打開html檔案,然后idea右下角會顯示字符編碼
你可以把程式打包發出來
uj5u.com熱心網友回復:
你可以把程式打包發出來

之前用文本檔案也另存為過了就是utf-8,這個hello也是直接自己新建,不可能會有編碼問題按照正常情況
uj5u.com熱心網友回復:
確實奇怪了
,看一下不加過濾器的情況請求頭和回應頭分別是什么
uj5u.com熱心網友回復:
確實奇怪了,看一下不加過濾器的情況請求頭和回應頭分別是什么
其實這問題也不是太重要,就是html亂碼,把html代碼復制到jsp中沒亂碼,感覺是tomcat問題,又感覺不太像,畢竟沒加過濾器他也沒亂碼。
uj5u.com熱心網友回復:
確實奇怪了,看一下不加過濾器的情況請求頭和回應頭分別是什么
uj5u.com熱心網友回復:
奧,想起來一個,你看看在tomcat檔案夾 server.xml配置8080埠那個地方 <Connector connectionTimeout="20000" port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" redirectPort="8443"/> 加上URIEncoding="UTF-8" 看看uj5u.com熱心網友回復:
奧,想起來一個,你看看在tomcat檔案夾 server.xml配置8080埠那個地方 <Connector connectionTimeout="20000" port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" redirectPort="8443"/> 加上URIEncoding="UTF-8" 看看
uj5u.com熱心網友回復:
配置好了還是亂碼 奧,想起來一個,你看看在tomcat檔案夾 server.xml配置8080埠那個地方 <Connector connectionTimeout="20000" port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" redirectPort="8443"/> 加上URIEncoding="UTF-8" 看看
uj5u.com熱心網友回復:
我按照你寫的簡單建了個web專案,頁面沒有亂碼uj5u.com熱心網友回復:
我按照你寫的簡單建了個web專案,頁面沒有亂碼
不亂碼才是正常情況啊。為什么我的不正常
uj5u.com熱心網友回復:
是不是有什么其他的過濾器呢?uj5u.com熱心網友回復:
可以試試:在一個js檔案中,添加一行帶有中文字符的注釋,在瀏覽器上看看那個js中中文是否也是亂碼可能是其他過濾器有對靜態檔案進行了處理(你這個問題我已經開始瞎猜了,有正事要做先忙正事)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/32695.html
標籤:Java EE
上一篇:創建的第一個springboot老是報Exception in thread "main" java.lang.NoClassDefFoundError: or
