场景:
基本所有地方都设置为utf-8
页面中
filter中
服务器端中文都是正确的
客户端中文全是问号"?",一个中文字对应一个问号
原因
推测为服务器端和客户端的编码方式不一样
解决方法
给servlet和action的response都加上
response.setCharacterEncoding("utf-8");
ps
不知道为什么这么做就ok,每个servlet和action都要加,特别麻烦
上面的filter中已经加了一次了,貌似没有起作用,可能对filter理解还有问题
ps
写个BaseServlet,中间定义个writeJson()方法
在该方法内处理编码
所有的servlet继承自它
调用打印json串到页面的方法
filter是请求之前或之后拦截
貌似对此不起作用
基本所有地方都设置为utf-8
页面中
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />filter中
httpResponse.setCharacterEncoding(encoding); // encoding为utf-8
httpResponse.setContentType("text/html; charset=utf-8");
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>服务器端中文都是正确的
客户端中文全是问号"?",一个中文字对应一个问号
原因
推测为服务器端和客户端的编码方式不一样
解决方法
给servlet和action的response都加上
response.setCharacterEncoding("utf-8");
ps
不知道为什么这么做就ok,每个servlet和action都要加,特别麻烦
上面的filter中已经加了一次了,貌似没有起作用,可能对filter理解还有问题
ps
写个BaseServlet,中间定义个writeJson()方法
在该方法内处理编码
所有的servlet继承自它
调用打印json串到页面的方法
filter是请求之前或之后拦截
貌似对此不起作用
本文探讨了在Java Web应用中遇到的中文乱码问题,并详细记录了解决过程。包括设置页面编码、使用过滤器统一字符编码及在Servlet和Action中进行响应编码设置等方法。
383

被折叠的 条评论
为什么被折叠?



