读书人

JSP 中文乱码有关问题 new String(s.g

发布时间: 2013-04-24 12:02:11 作者: rapoo

JSP 中文乱码问题 new String(s.getBytes("iso-8859-1"),"utf-8");
由于中文乱码的问题。。
小弟使用了new String(s.getBytes("iso-8859-1"),"utf-8");
确实没有乱码了。。。

但是因为有个验证步骤,可能要反复执行那个转换。。。

一旦第二次用new String(s.getBytes("iso-8859-1"),"utf-8");转换,之前的汉字又乱码了。。。
如何解决?JSP 中文乱码有关问题 new String(s.getBytes(
[解决办法]
用个filter不行吗
[解决办法]
可以配置一个过滤器,统一设置字符编码
[解决办法]
配置一个Filter,
WEB.XML


<filter>
<filter-name>CharFilter</filter-name>
<filter-class>com.test.CharFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

自己创建Filter implements javax.servlet.Filter

public class CharFilter implements Filter
{

private String charFilter;

@Override
public void destroy()
{

}

@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException
{
HttpServletRequest request = (HttpServletRequest)arg0;
arg0.setCharacterEncoding(charFilter);
arg2.doFilter(request, arg1);
}

@Override
public void init(FilterConfig arg0)
throws ServletException
{
charFilter = arg0.getInitParameter("encoding");
}

}

[解决办法]
1.使用post提交 不要用get
2.过滤器

读书人网 >Java Web开发

热点推荐