`
susam
  • 浏览: 104983 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java Web 开发过程中遇到中文乱码处理方法

阅读更多

1.数据库编码不一致导致乱码

解决方法:

首先查看数据库编码,输入: 

  1. show variables like "%char%"

 



 

确认编码一致,如果不一致,可输入:

  1. SET character_set_client='utf8'
  2. SET character_set_connection='utf8'
  3. SET character_set_results='utf8'

也可设置成gbk编码;

也可以在安装Mysql目录下修改my.ini文件

  1. default-character-set=utf-8 

2.jsp页面乱码问题

在myeclipse中jsp的默认编码为ISO-8859-8;

只需在页面头部修改为

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

在JSP页面头部加入下面这句话,告诉浏览器应该调用UTF-8的字符集。

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   

3.jsp连接数据库存入中文乱码

在数据库连接时

  1. jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 

如果使用框架连接则把头文件都修改成UTF-8编码即可

4.在使用struts2可使用过滤器:

先变写一个过滤器

  1. package com.oumyye.util; 
  2.  
  3. import java.io.IOException; 
  4.  
  5. import javax.servlet.Filter; 
  6. import javax.servlet.FilterChain; 
  7. import javax.servlet.FilterConfig; 
  8. import javax.servlet.ServletException; 
  9. import javax.servlet.ServletRequest; 
  10. import javax.servlet.ServletResponse; 
  11.  
  12. public class CharacterEncodingFilter implements Filter{ 
  13.  
  14.     protected String encoding = null
  15.     protected FilterConfig filterConfig = null
  16.  
  17.     public void init(FilterConfig filterConfig) throws ServletException { 
  18.         this.filterConfig = filterConfig; 
  19.         this.encoding = filterConfig.getInitParameter("encoding"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (encoding != null) { request.setCharacterEncoding(encoding); response.setContentType("text/html; charset="+encoding); } chain.doFilter(request, response); } public void destroy() { this.encoding = nullthis.filterConfig = null
  20.     } 

在web.xml中配置 

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"
  3.   <display-name>0001web</display-name> 
  4.   <!-- 中文编码过滤器 --> 
  5.     <filter> 
  6.         <filter-name>CharacterEncodingFilter</filter-name> 
  7.         <filter-class>com.oumyye.util.CharacterEncodingFilter</filter-class
  8.         <init-param> 
  9.             <param-name>encoding</param-name> 
  10.             <param-value>UTF-8</param-value> 
  11.         </init-param> 
  12.     </filter> 
  13.     <filter-mapping> 
  14.         <filter-name>CharacterEncodingFilter</filter-name> 
  15.         <url-pattern>/*</url-pattern> 
  16.         <dispatcher>REQUEST</dispatcher> 
  17.         <dispatcher>FORWARD</dispatcher> 
  18.     </filter-mapping> 

在表单中只能使用post传值,此方法对于get无效。

5 处理单个字符串的中文乱码问题

  1. String newnewname=new String(name.getBytes("iso-8859-1"),"utf-8")) 

 

附:JSP中的编码设置

1. pageEncoding:<%@ page pageEncoding="UTF-8"%>

设置JSP编译成Servlet时使用的编码    

2. contentType: <%@ page contentType="text/html; charset=UTF-8"%>

对服务器响应进行重新编码,即jsp的输出流在浏览器中显示的编码 

3. html页面charset:<META http-equiv="Content-Type" content="text/html; charset=UTF-8">

网页的编码信息 ,说明页面制作所使用的编码

4. request.setCharacterEncoding()  -- 可用在servlet和jsp页面中

作用是设置对客户端请求进行重新编码的编码,即post方式提交的数据进行编码。

5. response.setCharacterEncoding() -- 可用在servlet和jsp页面中

对服务器响应进行重新编码,即jsp的输出流在浏览器中显示的编码,与<%@ page contentType="text/html;charset=UTF-8"%>一样

6. response.setContentType() -- 可用在servlet和jsp页面中

对服务器响应进行重新编码,即jsp的输出流在浏览器中显示的编码,与<%@ page contentType="text/html;charset=UTF-8"%>一样 

7.response.setHeader("Content-Type","text/html;charset=UTF-8");   -- 可用在servlet和jsp页面中

与<META http-equiv="Content-Type" content="text/html; charset=UTF-8">一样

  • 大小: 5.6 KB
分享到:
评论

相关推荐

    Java WEB开发中的中文乱码问题解决方法.pdf

    然而,在Java Web开发中处理中文字符时,编码不一致常会导致乱码问题。 字符编码转换在Java Web应用开发中是不可或缺的一个过程。计算机只能识别二进制数,而字母、数字、汉字等通过字符编码转换成二进制形式存储。...

    java web开发解决乱码问题

    在Java Web开发过程中,乱码问题是开发者经常会遇到的问题之一。它通常发生在处理含有中文或其他非ASCII字符的数据时。本篇文章将详细介绍在Java Web开发中解决乱码问题的方法。 #### 二、乱码产生的原因 乱码主要...

    Java Web程序开发中字符乱码的原因与解决办法.pdf

    字符乱码问题是Java Web程序开发过程中经常遇到的一个问题,它会对用户界面的友好性以及信息的准确传达造成很大的影响。为了解决这个问题,我们首先要了解字符集和字符编码的相关知识,然后分析字符乱码的原因,并...

    Java Web开发中文乱码问题的研究与解决.pdf

    总之,Java Web开发中的中文乱码问题需要从多个层面进行检查和调整,确保数据在整个处理链路中的编码一致性,才能有效地避免和解决乱码问题。这需要开发者具备扎实的字符编码知识,并在实践中积累经验,以便在遇到...

    Java Web开发常见问题.pdf

    在Java Web开发过程中,中文乱码问题是开发者经常遇到的一个挑战。这些问题主要源于Java默认的Unicode编码与HTML页面及表单默认的Latin-1编码之间的不兼容,以及在不同的环境中(如服务器、数据库、浏览器)使用了...

    web 开发中遇到的乱码问题

    在web开发过程中,乱码问题是一个常见的困扰,尤其是在处理文本数据时。乱码现象通常发生在字符编码不一致或处理不当的场景下。本篇将详细探讨这个问题,以及如何通过理解和运用正确的字符编码来解决它。 首先,...

    java web开发中常遇到的问题

    在 Java Web 开发中,开发者经常会遇到一些棘手的问题,影响项目的进度和质量。在这篇文章中,我们将列举一些常见的问题,并对其进行解释和解决。 1. java.lang.IllegalArgumentException: node to traverse cannot...

    Java Web应用开发中的中文乱码问题研究.pdf

    在java Web应用开发中,软件开发人员最容易遇到的问题就是中文的乱码问题,其中最常见的有两种,JSP页面中文显示乱码和表单提交参数中文乱码。本文通过深入分析这两种中文乱码问题产生的原因,分别给出了对应的解决方案...

    Java-Web开发中乱码处理归纳

    通过这个"乱码处理归纳"文件,你可以系统地学习和总结关于Java Web开发中的乱码问题及其解决方案,不断提升你的编码实践能力。在开发过程中,遇到类似问题时,可以参考这些知识点,以便快速定位并解决问题。

    处理Java的ssh集成中的中文乱码问题

    在Java Web开发中,尤其是在整合SSH(Struts + Spring + Hibernate)框架时,经常会遇到中文乱码的问题。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍如何通过自定义过滤器(Filter)和请求处理器...

    中文乱码javaWEB开发各种解决中文乱码问题

    在Java Web开发过程中,中文乱码问题是开发者经常遇到的一个挑战。中文字符的正确显示与处理涉及到编码、解码以及服务器配置等多个环节,若任一环节处理不当,都可能导致中文字符显示为乱码。本文将详细探讨Java Web...

    Java编程乱码处理方法大全(附图说明)

    本篇文章将全面解析Java中的乱码处理方法,涵盖纯Java代码、Servlet、JSP以及EJB类的解决方案,帮助开发者有效解决这一问题。 首先,理解字符编码的基础知识至关重要。在计算机世界里,字符与数字之间的映射关系...

    java 中文问题(java web 开发中的中文问题)

    Java 中文问题是 Java web 开发中常见的一种问题,解决该问题需要了解 Java 中文编码、字符集和过滤器的使用。本文将总结 Java 中文问题的解决方法,并提供实践经验和代码示例。 一、支持中文 在 Java 中,支持...

    java解决解决get中文乱码问题

    在Java Web开发中,经常遇到的一个问题是处理GET请求中的中文参数时出现乱码。这个问题主要是因为浏览器发送GET请求时,参数默认使用ISO-8859-1编码格式,而服务器端通常采用的是其他编码(如GBK、UTF-8等)。当...

    java中文乱码大全

    Java中文乱码问题是编程者在开发Java应用程序时经常遇到的问题,尤其是涉及到中文字符处理时。这些问题产生的根本原因在于Java内部采用UNICODE编码,而不同的操作系统和浏览器可能支持不同的编码格式,如Windows中文...

    解决web项目中出现的乱码问题,很方便

    在开发Web项目时,乱码问题常常困扰着开发者,它涉及到字符编码的处理,这是Web应用中的一个常见但至关重要的问题。本方案提供了一个简洁有效的...在实际开发中,遇到乱码问题时,还需要结合具体情况进行排查和解决。

    java web 开发乱码汇总

    乱码问题在Java Web开发中是一个常见的问题,尤其是在处理国际化应用时更为突出。问题的根本原因在于计算机字符编码方式的多样性和标准的不统一。由于全球各地的语言文字差异巨大,不同的操作系统、浏览器和服务器...

    解决中文乱码问题-java

    在IT领域,尤其是在Java开发中,遇到中文乱码问题是相当常见的。这主要涉及到字符编码的处理,如果在数据传输、存储或显示过程中没有正确地指定或转换编码,就容易出现乱码现象。以下是对如何在Java中解决中文乱码...

Global site tag (gtag.js) - Google Analytics