由于中文乱码的问题。。
小弟使用了new String(s.getBytes("iso-8859-1"),"utf-8");
确实没有乱码了。。。
但是因为有个验证步骤,可能要反复执行那个转换。。。
一旦第二次用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.过滤器