我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java web乱码解决方法

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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)去更改,但是对于将要新建的文件的保存编码是有作用的

乱码要检查的几个地方

保存的编码

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

注意:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>

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

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

代码的保存格式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


  	characterEncodingFilter
  	com.helloweenvsfei.filter.CharacterEncodingFilter
  	
  		characterEncoding
  		utf8
  	
  	
  		enabled
  		true
  	
  
  
  
  	characterEncodingFilter
  	/*
  

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java web乱码解决方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java web乱码解决方法

设置文件的保存编码格式,这个一般在新建项目时,设置了GBK的编码格式,这时文件的页面编码格式是GBK的,而保存格式是ANSI的,后来把项目及文件的编码格式改为utf-8的编码格式后,依然出现中文乱码,这就是因为已经存在的文件的保存编码格式还是ANSI把致,所以
java web乱码解决方法
2014-05-26

java网页乱码解决方法

java网页乱码常见地方如下:jsp页面中。EL表达式或者直接取值,哪怕写个固定的中文显示都会乱。java代码。前端到后端传输值,乱码。jsp页面编码。只要写jsp的都不陌生,更改页面的字符集。java后台代码。如果是java web项目,那么可以对应在pos
java网页乱码解决方法
2021-08-10

java问号乱码解决方法

在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。(推荐:java视频教程)这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。1、在网页中输出中文
java问号乱码解决方法
2020-03-31

java读oracle乱码解决方法

当Java读Oracle遇到中文乱码时,我们就需要进行转码。(推荐:java视频教程)转码方法:1、纯手工转码将读到的字符串s进行转码,如:new String(s.getByte(A), B)2、Druiddruid是阿里巴巴自己开发的一个驱动,它其实是对各
java读oracle乱码解决方法
2015-08-19

java读写乱码解决方法

java读写乱码解决方法:1、读文件:/** * 读取文件内容 * * @param filePathAndName * String 如 c:\1.txt 绝对路径 * @return boolean
java读写乱码解决方法
2018-12-07

java邮件乱码解决方法

java发送邮件乱码解决方法://设置邮件主题 message.setSubject(MimeUtility.encodeText(mail_subject,MimeUtility.mimeCharset("gb2312"), null)); messag
java邮件乱码解决方法
2017-11-09

java编译乱码解决方法

Java编译源代码时,默认会从操作系统获取codepage,若你安装操作系统时不小心安装了英文版的,可能就会在编译java源码时产生乱码。请看下面测试代码:package com.test;public class Run { public static v
java编译乱码解决方法
2018-07-24

java中string乱码解决方法

java中string乱码解决方法:(推荐:java视频教程)对字符串进行转码来解决字符串乱码代码如下:System.out.println(str); String str1 = new String(str.getBytes("ISO
java中string乱码解决方法
2021-08-15

java中url乱码解决方法

java中url乱码解决方法:(推荐:java视频教程)1、将字符串转码:newString(“xxxxx”.getBytes(“iso-8859-1”),”utf-8”)这种转码方式有很大的弊端,因为它是使用指定的字符集将此String编码为 byte 序列
java中url乱码解决方法
2017-05-02

java下载乱码解决方法

下载文件乱码解决代码: String userAgent = request.getHeader("User-Agent"); String formFileName = file.getFileName(); // 针对
java下载乱码解决方法
2019-05-29

java页面乱码解决方法

在页面提交到tomcat乱码 解决方法是在tomcat/conf/server.xml中进行配置(推荐:java视频教程)以tomcat6.0.32为例,需将以下代码:Xml代码改为:Xml代码如果tomcat前端有Apache或是Nginx转发,则还需将:X
java页面乱码解决方法
2021-02-14

java传值乱码解决方法

在做JavaWeb时,总是时不时的会遇到中文传值乱码问题,在你把所有”ISO-8859-1”改成“UTF-8”发现还是没什么用。于是我就找到了一个百试百灵的方法(至少目前我是),就是强行转换成“UTF-8”编码。看代码:@RequestMapping("/su
java传值乱码解决方法
2017-11-11

java乱码问号解决方法

java乱码问号如下图:所有涉及到汉字的,全变成了问号,奇怪的很,国际惯例,从html页面开始检查,看着编码没问题啊,而且页面其他模块的汉字是可以正常显示的,那么开始断定是后台的问题,从action里开始看起,把request、response都设置编码格式为
java乱码问号解决方法
2020-05-17

java提交乱码解决方法

java提交乱码解决方法:1、如果提交方式为post,想不乱码,只需要在服务器端设置request对象的编码即可,客户端以哪种编码提交的,服务器端的request对象就以对应的编码接收,比如客户端是以UTF-8编码提交的,那么服务器端request对象就以UT
java提交乱码解决方法
2015-01-02

java接口乱码解决方法

通过接口上传中文信息时,在java后台获取值时request.getParameter(),会出现乱码。在代码中用各种转码都没有处理掉。(java相关视频教程推荐:java视频教程)需要在tomcat配置文件中修改:/conf/server.xml原: 修改为
java接口乱码解决方法
2016-06-15

java项目乱码解决方法

java项目乱码解决方法:(推荐:java视频教程)一、设置工作空间的编码1、编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会受到这个设置的影响。点击菜单栏中的窗口(Window)— —选项(Preferences)。2
java项目乱码解决方法
2021-10-10

java显示乱码解决方法

java显示乱码解决方法:1、浏览器调用jsp,html等页面中文显示乱码此情况需满足两个要求:(1)文件本身是以utf-8编辑保存的(myEclipse中在properties中鼠标右键选择utf-8)(2)浏览器用utf-8解析:(手动)==> 在浏览器中
java显示乱码解决方法
2020-03-09

java文字乱码解决方法

1、在myeclipse中可以设置文件的编码格式,但是当我们使用Scanner进行键入时,由于Windows使用的是GBK编码,所以如果设置的编码格式不是GBK的话会出现中文乱码问题。2、前台页面向后台发送请求时如果是get方式,会默认以ISO8859-1格式
java文字乱码解决方法
2015-09-19

java中request乱码解决方法

POST中文乱码解决方式:POST通过request body传递参数。设置response的字符流的编码方式为UTF-8。request.setCharacterEncoding("UTF-8"); 这句话解决了POST方式提交的中文乱码问题,这个方法设置了
java中request乱码解决方法
2019-08-18

java乱码问题解决方法

java乱码,分为几个位置的乱码。(推荐:java视频教程)一、是JSP页面乱码问题,解决方式:二、后台向前端传输字符串的的乱码解决方式: response.setContentType("text/html;charset=UTF-8");response.
java乱码问题解决方法
2021-09-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录