当前位置: 代码网 > it编程>开发工具>Eclipse > java web乱码解决方法

java web乱码解决方法

2025年04月01日 Eclipse 我要评论
设置文件的保存编码格式,这个一般在新建项目时,设置了gbk的编码格式,这时文件的页面编码格式是gbk的,而保存格式是ansi的,后来把项目及文件的编码格式改为utf-8的编码格式后,依然出现中文乱码,

java web乱码解决方法

设置文件的保存编码格式,这个一般在新建项目时,设置了gbk的编码格式,这时文件的页面编码格式是gbk的,而保存格式是ansi的,后来把项目及文件的编码格式改为utf-8的编码格式后,依然出现中文乱码,这就是因为已经存在的文件的保存编码格式还是ansi把致,所以要把以前的.java文件的保存格式更改为utf-8,才不会出现中文注释乱码问题

window-preferences-general-content types 在text下选择对应的文件类型再改页面编码为utf-8然后点update就可以了。

注:

如果是一个全新的工作空间,设置myeclipse的编码格式,就等于设置了项目,文件及其保存的编码格式了(不包含jsp等文件)

如果是一个已经存在的工作间,而原来的编码格式为gbk,那么更改工作空间的编码,则相当于设置了项目,文件的编码格式,但是对于以前已经存在的.java文件,其保存编码是改变不了的,必须按上面(4)去更改,但是对于将要新建的文件的保存编码是有作用的

乱码要检查的几个地方

1.保存的编码

2.jsp里声明的编码(utf-8和utf8是一样的)

注意:

登录后复制

3.过滤器里处理的字符编码,仅限于输入的输出的数据编码。而上面那句代码中设的编码格式是页面的显示格式。

一份javaweb的项目代码中,总共有这几种格式:

1.代码的保存格式2.浏览器的解析格式3.数据输入时的格式(也就是浏览器的解析格式决定)4.数据处理时的格式。

1.jpg

原则上以上六种格式都要一样,就绝对不会乱码,但有一些特殊情况,其中有一些不一致,显示也会正确,如不需要将输入的内容进行显示和处理时request和respose的格式可以与其他的格式不一致,ps:常用编码iso-8859-1,gbk,utf-8

因此万无一失的办法如下:

jsp里的声明语句可以弄掉四种格式,而剩下的两种格式可以用监听器的方法解决:

新建一个监听器

2.jpg

package com.helloweenvsfei.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;
 
public class characterencodingfilter implements filter{
	private string characterencoding;	
	private boolean enabled;			
 
	public void destroy() {
		// todo auto-generated method stub
		characterencoding = null;	
	}
 
	public void dofilter(servletrequest request, servletresponse response,
			filterchain chain) throws ioexception, servletexception {
		// todo auto-generated method stub
		if(enabled || characterencoding != null){
			request.setcharacterencoding(characterencoding);
			
			response.setcharacterencoding(characterencoding);
			
		}
		chain.dofilter(request, response);
		
		
	}
 
	public void init(filterconfig config) throws servletexception {
		// todo auto-generated method stub
		
		characterencoding = config.getinitparameter("characterencoding");
		
		enabled = "true".equalsignorecase(config.getinitparameter("enabled").trim());
		
		
	}
 
}
登录后复制

web.xml

<filter>
  	<filter-name>characterencodingfilter</filter-name>
  	<filter-class>com.helloweenvsfei.filter.characterencodingfilter</filter-class>
  	<init-param>
  		<param-name>characterencoding</param-name>
  		<param-value>utf8</param-value>
  	</init-param>
  	<init-param>
  		<param-name>enabled</param-name>
  		<param-value>true</param-value>
  	</init-param>
  </filter>
  
  <filter-mapping>
  	<filter-name>characterencodingfilter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
登录后复制

更多java知识请关注java基础教程栏目。

以上就是java web乱码解决方法的详细内容,更多请关注代码网其它相关文章!

(0)

相关文章:

  • 游戏程序员是做什么的?

    游戏程序员是做什么的?

    有很多的小伙伴都对游戏开发感兴趣,但是又不知道,游戏程序员在游戏制作里要负责做什么,下面本篇文章就来细说一下。有一定的参考价值,有需要的朋友可以参考一下,希望对... [阅读全文]
  • java开发语言的软件开发平台有哪些

    java开发语言的软件开发平台有哪些

    eclipse :eclipse 是一个开放源代码的、基于java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的... [阅读全文]
  • myeclipse怎么使用

    myeclipse怎么使用?首先双击打开软件,主界面如图二所示然后点击文件---->新建---->java项目在项目名那里输入你要新建的项目名称,名称随意。名称输入完之…

    2025年04月01日 开发工具
  • java初学者用什么软件

    java初学者用什么软件

    java初学者用什么软件?用myeclipse或者eclipse,记事本都可以。1.初学者的话不建议上来就用ide开发工具比如说eclipse、myeclips... [阅读全文]
  • myeclipse怎么建项目

    myeclipse怎么建项目?选择新建一个 web project ,填写好项目名,其他可以默认。这些可以默认。也可以根据个人的需求修改。如果提示进入 myeclipse 视图的话…

    2025年04月01日 开发工具
  • myeclipse和eclipse区别有哪些?

    myeclipse和eclipse区别有哪些?

    myeclipse和eclipse区别有:1、myeclipse集成了很多的插件,比较方便;2、myeclipse是收费的,而eclipse是免费的;3、建ja... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com