iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java web乱码解决方法
  • 480
分享到

java web乱码解决方法

java乱码 2014-05-26 22:05:02 480人浏览 才女
摘要

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

设置文件的保存编码格式,这个一般在新建项目时,设置了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基础教程栏目。

--结束END--

本文标题: java web乱码解决方法

本文链接: https://www.lsjlt.com/news/2075.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • java web乱码解决方法
    设置文件的保存编码格式,这个一般在新建项目时,设置了GBK的编码格式,这时文件的页面编码格式是GBK的,而保存格式是ANSI的,后来把项目及文件的编码格式改为utf-8的编码格式后,依然出现中文乱码,这就是因为已经存在的文件的保存编码格式还...
    99+
    2014-05-26
    java 乱码
  • java中request乱码解决方法
    POST中文乱码解决方式:POST通过request body传递参数。设置response的字符流的编码方式为UTF-8。request.setCharacterEncoding("UTF-8"); 这句话解决了POST方式提交的中文乱码...
    99+
    2019-08-18
    java request 乱码
  • java乱码问题解决方法
    java乱码,分为几个位置的乱码。(推荐:java视频教程)一、是JSP页面乱码问题,解决方式:二、后台向前端传输字符串的的乱码解决方式: response.setContentType("text/html;charset=UTF-8")...
    99+
    2021-09-12
    java基础 java 乱码
  • java问号乱码解决方法
    在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。(推荐:java视频教程)这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。...
    99+
    2020-03-31
    java
  • java网页乱码解决方法
    java网页乱码常见地方如下:jsp页面中。EL表达式或者直接取值,哪怕写个固定的中文显示都会乱。java代码。前端到后端传输值,乱码。jsp页面编码。只要写jsp的都不陌生,更改页面的字符集。java后台代码。如果是java web项目,...
    99+
    2021-08-10
    java
  • java页面乱码解决方法
    在页面提交到tomcat乱码 解决方法是在tomcat/conf/server.xml中进行配置(推荐:java视频教程)以tomcat6.0.32为例,需将以下代码:Xml代码 改为:Xml代码 如果tomcat前端有Apache或是Ng...
    99+
    2021-02-14
    java
  • java中url乱码解决方法
    java中url乱码解决方法:(推荐:java视频教程)将字符串转码:newString(“xxxxx”.getBytes(“iso-8859-1”),”utf-8”)这种转码方式有很大的弊端,因为它是使用指定的字符集将此String编码为...
    99+
    2017-05-02
    java
  • java读oracle乱码解决方法
    当Java读Oracle遇到中文乱码时,我们就需要进行转码。(推荐:java视频教程)转码方法:纯手工转码将读到的字符串s进行转码,如:new String(s.getByte(A), B)Druiddruid是阿里巴巴自己开发的一个驱动,...
    99+
    2015-08-19
    java 乱码
  • java中string乱码解决方法
    java中string乱码解决方法:(推荐:java视频教程)对字符串进行转码来解决字符串乱码代码如下:System.out.println(str); String str1 = new String(str.ge...
    99+
    2021-08-15
    java
  • java乱码问号解决方法
    java乱码问号如下图:所有涉及到汉字的,全变成了问号,奇怪的很,国际惯例,从html页面开始检查,看着编码没问题啊,而且页面其他模块的汉字是可以正常显示的,那么开始断定是后台的问题,从action里开始看起,把request、respon...
    99+
    2020-05-17
    java 乱码
  • java显示乱码解决方法
    java显示乱码解决方法:浏览器调用jsp,html等页面中文显示乱码此情况需满足两个要求:(1)文件本身是以utf-8编辑保存的(myEclipse中在properties中鼠标右键选择utf-8)(2)浏览器用utf-8解析:(手动)=...
    99+
    2020-03-09
    java 乱码
  • java提交乱码解决方法
    java提交乱码解决方法:如果提交方式为post,想不乱码,只需要在服务器端设置request对象的编码即可,客户端以哪种编码提交的,服务器端的request对象就以对应的编码接收,比如客户端是以UTF-8编码提交的,那么服务器端reque...
    99+
    2015-01-02
    java 乱码
  • java文字乱码解决方法
    在myeclipse中可以设置文件的编码格式,但是当我们使用Scanner进行键入时,由于Windows使用的是GBK编码,所以如果设置的编码格式不是GBK的话会出现中文乱码问题。前台页面向后台发送请求时如果是get方式,会默认以ISO88...
    99+
    2015-09-19
    java 乱码
  • java下载乱码解决方法
    下载文件乱码解决代码: String userAgent = request.getHeader("User-Agent"); String formFileName = file.getFileName(); ...
    99+
    2019-05-29
    java 乱码
  • java邮件乱码解决方法
    java发送邮件乱码解决方法://设置邮件主题 message.setSubject(MimeUtility.encodeText(mail_subject,MimeUtility.mimeCharset("gb2312"), null...
    99+
    2017-11-09
    java 乱码
  • java读写乱码解决方法
    java读写乱码解决方法:读文件: public static String readFile(String filePath) { String fileContent = ""; try { ...
    99+
    2018-12-07
    java 乱码
  • java项目乱码解决方法
    java项目乱码解决方法:(推荐:java视频教程)一、设置工作空间的编码编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会受到这个设置的影响。点击菜单栏中的窗口(Window)— —选项(Prefer...
    99+
    2021-10-10
    java
  • java传值乱码解决方法
    在做JavaWeb时,总是时不时的会遇到中文传值乱码问题,在你把所有”ISO-8859-1”改成“UTF-8”发现还是没什么用。于是我就找到了一个百试百灵的方法(至少目前我是),就是强行转换成“UTF-8”编码。看代码:@RequestMa...
    99+
    2017-11-11
    java 乱码
  • java编译乱码解决方法
    Java编译源代码时,默认会从操作系统获取codepage,若你安装操作系统时不小心安装了英文版的,可能就会在编译java源码时产生乱码。请看下面测试代码:package com.test; public class Run { pub...
    99+
    2018-07-24
    java基础 java
  • java接口乱码解决方法
    通过接口上传中文信息时,在java后台获取值时request.getParameter(),会出现乱码。在代码中用各种转码都没有处理掉。(java相关视频教程推荐:java视频教程)需要在tomcat配置文件中修改:/conf/server...
    99+
    2016-06-15
    java基础 java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作