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导入一个项目,有中文乱码问题,解决方法如下: 一、将整个project设置编码UTF-8(UTF-8可以最大的支持国际化) windows->Preferences->general->Workspace->Text file encoding->Other框中的Text file encoding改为UTF-8。 二、对java源文件编码设置为UTF-8. windows->Preferences->general->Context Types->Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。 一、设置新建常见类型文件的默认编码格式,也就是文件保存的格式。 在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。 在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。 Window-->Preferences-->General -->content Types 在右侧窗口中展开每一个子项,依次输入编码格式,如“UTF-8”点击“update”就设置好了。 例如:在以上设置中,设置jsp默认编码格式为“UTF-8”,那么以后新建的jsp文件,都是以“UTF-8”的格式保存的。 同样设置java默认编码格式为“UTF-8”,那么以后新建的java文件,都是以“UTF-8”的格式保存的。 设置html默认编码格式为“UTF-8”,那么以后新建的html文件,都是以“UTF-8”的格式保存的。 以上设置了文件的保存编码格式,默认的打开方式(解码方式)会跟保存编码格式一样。 二、设置新建其他文件的默认编码格式,即文件保存格式。 在第一项设置中,只是设置了常用文件类型的编码格式。如果新建一个文件,没有后缀名,也就是不指名文件类型,那么MyEclipse无法判断该用何种编码格式保存,就用操作系统默认文件保存编码格式GBK进行保存。这个默认保存编码格式,可用如下方法修改: window-->preferences-->general-->workspace 在右侧 Text file encoding ->Other 选择UTF-8 三、单个文件查看编码格式(也就是打开文件用的编码格式)更改。 这个方法没有更改文件的编码格式,只是告诉MyEclipse用何种编码格式进行解码。 在要查看的文件上,如文件Test.java上右键-->Properties-->Resource在右侧Text file encoding ->Other,可以进行修改。 比如说,你在“一”里面设置*.java文件的编码格式为“UTF-8”,那么你打开后缀名为java的文件,默认就会以“UTF-8”格式进行解码。如果有人给了你一个编写好的java文件,但是他是用GBK编码保存的,那么你现在打开的时候,会显示乱码。在这个文件上右键-->Properties-->Resource在右侧Text file encoding ->Other ->GBK,就可以正常显示里面的内容了。 四、单个工程workspace默认编码设置。 在工程上右键-->Properties-->Resource在右侧Text file encoding ->Other,可以进行修改。 五、指定MyEclipse编写文件时页面内容数据编码格式(其实就是参数的默认设置),如html,或者jsp网页中提交表单前,用户输入的信息编码格式,配置文件xml中的参数编码格式等。 主要是通知浏览器或服务器,传输数据的编码格式。告诉浏览器用何种编码来解析html或者JSP文件。 window-->Preferences-->MyEclipse-->Files and Editors-->选择子项-->Encoding 例如:选择UTF-8, 新建jsp文件的时候,contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"就会自动生成,不用每次去手工更改了。 新建html文件的时候,http-equiv="Content-Type" content="text/html; charset=UTF-8" 新建xml文件的时候, 六、eclipse的控制台显示所使用的编码是继承了workspace设置的字符编码格式(也就是上面“二”中设置的编码格式)。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值