1、页面乱码
页面乱码只需要修改页面的编码即可。
例如:
<%@ page language="java" pageEncoding="utf-8"%>
2、请求参数乱码
参数乱码的解决思想是让所有的请求都统一成同一种编码格式。
以Tomcat为例:
第一步:修改tomcat的server.xml文件中<Connector>的参数URIEncoding为"UTF-8",如果没有该参数,可以添加上
<Connector port="8080" URIEncoding="UTF-8" />
第二步:编写一个过滤器,过滤器代码如下。
package com.pol.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 {
public void destroy() {
}
//CharacterEncodingFilter继承自Filter,在这里只需要实现其doFilter方法即可。
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");//设定编码格式,参数为编码名称
chain.doFilter(request,response);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
第三步:修改web.xml,为web工程添加上CharacterEncodingFilter过滤器,添加如下代码。
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>com.pol.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern><!-- /*表示对所有路径都进行过滤 -->
</filter-mapping>
3、Struts国际化的乱码
Struts国际化乱码问题的解决是通过将资源文件的编码转化为Unicode编码来避免乱码的出现。
例如:
native2ascii -encoding UTF-8 ApplicationResources.properties ApplicationResources_zh.properties
注:以上命令的含义是将UTF-8编码的ApplicationResources.properties转换为Unicode编码的ApplicationResources_zh.properties,转换结束后
ApplicationResources_zh.properties文件就是相应的中文资源文件,可以正常的显示中文。
如果是使用Eclipse开发,还有一种更简便的转换方式:
下载ResourceBundleEditor插件,下载地址:http://sourceforge.net/projects/eclipse-rbe/
根据不同的eclipse版本选择相应的ResourceBundleEditor版本下载,下载到的是一个压缩包,解压后将plugins中的文件拷贝到eclipse安装目录中插件所在的文件夹,重新启动
eclipse。
在资源文件上右键open with — ResourceBundle Editor打开ResourceBundle Editor编辑器,点击new properties file新建另一个语言的资源文件,从下拉列表中选择一个地区
create,添加成功后在ResourceBundle Editor中就会多出该资源文件的编辑窗口,相应的在源资源文件的同级目下会出现刚才新建的资源文件。
在ResourceBundle Editor中可以任意修改资源文件中的内容,例如在相应的中文窗口可以随意输入中文,编辑结束后保存即可,ResourceBundle Editor会自动对相应的文件进行转码。
本文作者PoLan,属于转载
分享到:
相关推荐
本篇文章将详细介绍在Java Web开发中解决乱码问题的方法。 #### 二、乱码产生的原因 乱码主要由以下几种情况引起: 1. **页面本身的编码与浏览器解析编码不一致**:例如页面实际编码为GBK,但浏览器默认按照ISO-...
在Web开发过程中,乱码问题是一个常见的挑战,尤其是在处理多语言环境或中文字符时。乱码的出现往往是因为编码设置不一致导致的,这可能发生在客户端、服务器端、数据库、或者传输过程中的任何一个环节。本文将深入...
在开发Web项目时,乱码问题常常困扰着开发者,它涉及到字符编码的处理,这是Web应用中的一个常见但至关重要的问题。本方案提供了一个简洁有效的解决方法,通过一个Java文件和在`web.xml`配置文件中的简单设置,可以...
在本文中,我们将总结一些常见的Java开发乱码问题解决方法,希望能够为读者提供帮助。 1. 统一项目编码方式 乱码问题的根源之一是项目中的编码方式不统一。因此,在项目中统一使用一种编码方式是非常重要的。例如...
在Java Web开发中,中文乱码问题一直是开发人员面临的常见问题之一。中文乱码通常是由于在字符编码转换过程中,字符集不一致或设置不当所导致。为了解决这一问题,首先需要了解Java Web工程字符编码的基本理论,包括...
在Java Web开发过程中,中文乱码问题是一种常见的技术难题,尤其在处理客户端与服务器间的数据交互时更为突出。本文将详细介绍Java Web开发中出现乱码的原因,并提供一系列解决方案。 #### JSP页面配置及乱码成因 ...
在Java Web开发中,中文乱码问题是一个常见的困扰,尤其对于使用Servlet和JSP技术的开发者来说。乱码问题的产生主要源于字符编码的不一致性,即在Web组件之间、Web组件与浏览器、以及Web组件与数据库之间的字符集...
本文主要讨论了在 Web 开发中遇到的中文乱码问题,并提供了一些解决方案。首先,需要确定中文乱码问题不是由浏览器引起的,然后讨论了 Tomcat 服务器配置和数据库 bean 配置中的一些解决方案。 一、浏览器配置问题 ...
在Web开发过程中,中文乱码是一个常见的问题,尤其是在处理HTTP请求和响应时。本文将深入探讨如何使用Java的Filter机制来解决这个问题,提供一个简单可靠的解决方案,并详细解释配置过程。 一、理解Web中文乱码问题...
### Web开发中乱码问题的研究与解决 #### 1. 引言 在Web开发过程中,乱码问题一直是困扰开发者的一大难题,尤其是在处理...通过以上方法,可以有效地避免和解决Web开发中的中文乱码问题,提高用户体验和应用质量。
乱码问题是Web开发中常见的技术障碍,特别是在处理多语言环境下的数据时。对于WebOffice表单中出现的参数乱码,通过上述方法可以有效地解决。关键在于确保所有参与数据传输的环节采用统一的编码格式,并在必要时进行...
在Web开发中,乱码问题是一个常见的问题,特别是在中文网站中。为了解决这个问题,我们需要了解JSP/Servlet中的几个编码的作用。 首先,让我们来了解一下JSP/Servlet中的几个编码的作用: 1、pageEncoding="UTF-8...
### Java Web开发中常见的中文乱码问题解析 在Java Web开发过程中,中文乱码问题是开发者经常遇到的一个挑战。...下面将详细探讨几种常见的中文...通过这些措施,可以有效地预防和解决Java Web开发中常见的中文乱码问题。
Java Web程序开发中字符乱码的原因与解决办法 字符乱码问题是Java Web程序开发过程中经常遇到的一个问题,它会对用户界面的友好性以及信息的准确传达造成很大的影响。为了解决这个问题,我们首先要了解字符集和字符...
Java 乱码问题是 Java 开发中常见的问题之一,解决这个问题需要了解 Java 的编码方式、JSP 中文乱码问题、Tomcat 5.5 中文乱码问题、JDBC ODBC Bridge 的 Bug 及其解决方法、Solaris 下 Servlet 编程的中文问题及...
通过上述方法,我们可以有效地解决JSP开发过程中常见的乱码问题。需要注意的是,在实际应用中还需根据具体情况选择合适的解决方案,并尽可能地统一整个系统的字符编码,以减少因编码不一致带来的问题。此外,随着...
在Java Web程序开发中,字符乱码是一个常见的问题,它主要出现在输入输出、编码转换以及数据库存储等环节。本文将深入探讨字符乱码产生的原因,并提供相应的解决策略。 首先,我们要理解字符编码的基础知识。字符...