我写了一个servlet,用get方式提交访问这个servlet,tomcat默认会先转到iso8859-1,前几天我在servlet里用iso8859-1解码后再转到GBK,能够正常显示中文了。 可是今天突然又乱码了,我试了一下,在servlet里用iso8859-1解码后转成utf-8,能够正常显示中文了。我想请教一下,为什么会出现这样的问题?这里转到的GBK或是UTF-8,这两种编码格式是跟什么相关联的?
我一开始以为跟java源文件的编码格式有关系,可是我在eclipse里把java源文件的编码格式改成GBK后,还是需要转成utf-8才能正常显示。
我一开始以为跟java源文件的编码格式有关系,可是我在eclipse里把java源文件的编码格式改成GBK后,还是需要转成utf-8才能正常显示。
解决方案 »
- 为什么我在写巨简单的Date时总出现ClassNotFoundException,在线等!!!代码如下
- 重装系统后的jdk与MyEclipse
- 一个邮箱,不能发是什么问题啊
- 调用基于Axis2的web service时发生org.apache.axis2.AxisFault异常,请指教
- 这段HQL语句到底应该怎么写!!我有三个相关的表从第一个表取出第三个表的数据,结果报了这样的错误,求解答!!
- ducument.createElement在Firefox上的语法问题
- 问个问题
- 请问各位高手如果客户端关闭了cookie,如何还能安全的使用session呢??
- tomcat中不能正常显示图片!
- 简单问题:jsp通过bean调用ejb时出错
- HADOOP0.21.0与HBASE0.20.6的冲突
- swt 中的Text布局问题
它是否和页面同属一个编码呢
这样可以省掉很多的麻烦
<filter-name>springFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>springFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>但是提交方式只能为POST才有效,对GET提交方式无效。
public class MyFilter implements Filter {
protected String encodingName;
protected FilterConfig filterConfig;
protected boolean enable;
public MyFilter() {
this.encodingName = "UTF-8";
this.enable = false;
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
loadConfigParams();
}
private void loadConfigParams() {
this.encodingName = this.filterConfig.getInitParameter("encoding");
String strIgnoreFlag = this.filterConfig.getInitParameter("enable");
if (strIgnoreFlag.equalsIgnoreCase("true")) {
this.enable = true;
} else {
this.enable = false;
}
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(this.enable) {
request.setCharacterEncoding(this.encodingName);
response.setCharacterEncoding(this.encodingName);
}
chain.doFilter(request, response); }
public void destroy() {
} ----------------------------------------------xml------------------------------------
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>
com.filter.MyFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>enable</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>