首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JSP 中文乱码有关问题 new String(s.getBytes("iso-8859-1"),"utf-8")

2013-04-24 
JSP 中文乱码问题 new String(s.getBytes(iso-8859-1),utf-8)由于中文乱码的问题。。小弟使用了new Str

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("iso-8859-1"),"utf-8")
[解决办法]
用个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.过滤器

热点排行