myeclipse 乱码的解决

关于myEclipse中的乱码问题从最开始的迷糊到现在终于知道真相了。

原来老师讲过怎样解决乱码,无非是改一下字符集。只是不太清楚怎么改字符集。有时候改来改去还是乱码。

不过终究myeclipse出现乱码就是更改字符集。

经验总结MyEclipse中的乱码分为以下几种情况:

Jsp乱码、页面显示乱码、java注释乱码、servlet/jsp重定向出现乱码。

对于Jsp乱码请参考:

http://topic.csdn.net/u/20100506/09/e155135b-0fe0-4abd-874d-f7e41e6501f9.html

页面显示乱码:

采用过滤器:

编写过滤器类:

 

package com.dcy.drp.util.filter;
import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * 统一设置字符集
 * @author yunjie
 *
 */
public class CharseEncodingFilter implements Filter {

	private String encoding ="";
	
	public void destroy() {
		// TODO Auto-generated method stub

	}

	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
			FilterChain filterChain) throws IOException, ServletException {
		//设置字符集
		servletRequest.setCharacterEncoding(encoding);
		//System.out.print("dofilter----begin");
		filterChain.doFilter(servletRequest,servletResponse);
		//System.out.print("dofilter----begin");
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		this.encoding = filterConfig.getInitParameter("encoding");
		System.out.print("encodign" + this.encoding);
	}

}


 

配置过滤器到web.xml文件中:

 

<filter>
  	<filter-name>CharseEncodingFilter</filter-name>
  	<filter-class>com.dcy.drp.util.filter.CharseEncodingFilter</filter-class>
  	<init-param>
  		<param-name>encoding</param-name>
  		<param-value>GB18030</param-value>
  	</init-param>
  </filter>
  
  <filter-mapping>
  	<filter-name>CharseEncodingFilter</filter-name>
  	<url-pattern>*.jsp</url-pattern>
  </filter-mapping>
 


 

java注释乱码:

1) eclipse->window->preferences->General->Content Types
2) 找到要修改的文件的类型,在下面有个Default encoding,在输入框中输入GBK
3) 点击Update
4) 点击OK
5) 重启eclipse

需要注意的是:这里要使用GBK,使用UTF-8是没用的。因为windows默认默认编码是GBK,所以不能用UTF-8

 

servlet/jsp重定向出现乱码:

 修改tomcat配置文件:

<Connectorport="8080" maxHttpHeaderSize="8192"

               maxThreads="150"minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false"redirectPort="8443" acceptCount="100"

              connectionTimeout="20000"disableUploadTimeout="true" URIEncoding=GB18030/>

在web.xml文件中设置字符集仅对于post方法有效,servlet/jsp重定向是get提交,因此会出现乱码。

 

参考网页:

http://bbs.bccn.net/thread-41134-1-1.html

 

你可能感兴趣的:(myeclipse 乱码的解决)