`
无心之悠
  • 浏览: 38105 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

诡异的乱码问题

阅读更多
一、由来
1、程序中部分页面乱码-->
2、检查页面编码和文件编码是否一致,整个程序使用utf-8编码(包括tomcat服务器),ok -->
诡异:
(1)通常编码一致,不会出现这种问题
(2)浏览器显示以西欧iso编码,重新选择utf-8,正常显示,但是这种治标不治本
(3)乱码的都是html类型,单独显示完全正常,加入程序乱码

二、解决过程
之前:更换编码,如下:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
PS:仍然乱码

最终解决:尝试使用Filter,保证各个环节的编码一致
在web.xml中添加如下代码:
<filter>
     <filter-name>Set Character Encoding </filter-name> 
     <filter-class>包名.SetCharacterEncodingFilter</filter-class> 
     <init-param> 
       <param-name>encoding</param-name> 
       <param-value>UTF-8</param-value> 
     </init-param> 
     <init-param> 
       <param-name>ignore</param-name> 
       <param-value>true</param-value> 
     </init-param> 
   </filter> 
   <filter-mapping> 
     <filter-name>Set Character Encoding </filter-name> 
     <servlet-name>/*</servlet-name> 
   </filter-mapping>

PS:
1、SetCharacterEncodingFilter.java是tomcat自带的
路径:C:\tomcat 6\webapps\examples\WEB-INF\classes\filters下
2、此段代码必须在struts2的dispatcher.FilterDispatcher之前配置

在struts.properties中添加如下设置:
struts.locale=zh_CN
struts.i18n.encoding=UTF-8


呵呵,问题解决!!!

--------------------------------------------------------------
关于乱码,需要考虑三处编码:
--------------------------------------------------------------
1、文件的存储格式:即保存时选择的编码
2、解码格式,页面设置,比如meta中
    eg:存为utf-8的文件被解码为iso-8859-1(默认编码)
3、浏览器
PS:只要保证这三个环节的编码一致,就不会出现乱码的问题
分享到:
评论
5 楼 xht314 2011-02-21  
楼上,如果你用的是tomcat你可以试试在server.xml配置文件中设置编码来解决这个问题。
4 楼 liukai 2011-02-19  
我见过最诡异的乱码问题是用jqgrid进行查询.

如果你添加,修改中文的话后台是可以正常接收中文字段的

但是如果你是查询的话 中文查询字段在后台显示的就是乱码

这个问题现在都没解决掉,要命了

3 楼 洪帮主 2011-02-19  
从俺开始用EncodingFilter之后,就一直没遇过乱码问题,楼主的情况,俺去试试。
2 楼 无心之悠 2011-02-18  
不好意思额,笔误

UTF-8兼容GB2312、BIG5、EUC-JP等多种国家的语言编码,便于解决国际化的问题。
utf-8的好处:http://www.discuz.net/thread-490826-1-1.html
1 楼 dwbin 2011-02-18  
utf-6是什么编码?

那种编码显示正常的话说明后台response推过来的就是该种编码,如果和页面指定的显示编码是一样的话就不会乱码。页面定制的显示方式指这句。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

相关推荐

    乱码问题的解决

    "乱码问题的解决" 在 Web 开发中,乱码问题是常见的难题之一。乱码问题的出现主要是由于编码不一致引起的。编码不一致可能出现在多个方面,如页面编码、服务器编码、客户端编码、数据库编码等。在本文中,我们将...

    解决JSP中文乱码问题

    解决 JSP 中文乱码问题 解决 JSP 中文乱码问题是一个很常见的问题,在 JSP 开发过程中,经常出现中文乱码的问题,可能一至困扰着大家。下面我们将详细讨论 JSP 中文乱码问题的成因和解决方法。 JSP 中文乱码问题的...

    中文乱码问题分析 自己总结的

    中文乱码问题分析 中文乱码问题是 Java 和 JSP 开发中的一种常见问题,主要是由于 Java 和 JSP 源文件的保存方式是基于字节流的,而编译成 class 文件过程中,使用的编码方式与源文件的编码不一致所致。在 Java ...

    FORM表单中文乱码问题分析与解决

    FORM表单中文乱码问题分析与解决 在 Web 开发中,中文乱码问题是一个常见的问题,尤其是在FORM表单传递参数时。这个问题的根本原因是对中文的编码与解码方式不一致。我们可以理解为对中文的加密与解密的密钥不一致...

    qt乱码问题解决

    qt乱码问题解决

    hadoop中文乱码问题

    【Hadoop中文乱码问题详解】 在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce)的能力。然而,在处理包含中文字符的数据时,用户可能会遇到中文乱码的问题...

    设置乱码问题(设置乱码问题)

    ### 设置乱码问题详解 #### 一、理解乱码问题 在进行数据库操作时,可能会遇到数据呈现为不可读字符的现象,这种情况通常被称为“乱码”。出现乱码的原因多种多样,比如字符集设置不一致、编码转换错误等。解决...

    js出现乱码问题介绍大全

    ### JS出现乱码问题介绍大全 #### 一、引言 在Web开发中,字符编码问题经常困扰开发者,特别是当涉及到不同语言环境时。JavaScript作为前端开发的核心技术之一,在处理字符编码方面同样会遇到各种各样的乱码问题。...

    润乾报表乱码问题

    在信息技术领域,乱码问题是指字符在计算机中由于编码不一致或者不正确而导致的显示错误,通常表现为无法识别的特殊符号或者乱糟糟的方块。润乾报表乱码问题尤其令人头疼,因为它影响了数据的显示和传输,尤其是对于...

    解决Ubuntu和Windows的文件乱码问题

    在使用不同操作系统处理文件时,文件乱码是一个常见问题,尤其是当涉及到Windows和Ubuntu这两种系统时。Windows系统通常使用GBK编码来处理中文,而Ubuntu系统默认使用UTF-8编码,这导致了两者在处理中文文件时出现...

    解决linux下oracle中文乱码问题,添加中文支持

    解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码...

    Netty进制转换乱码问题

    在使用Netty进行TCP/IP通信时,我们可能会遇到数据进制转换导致的乱码问题。这个问题通常是由于数据编码不一致或者处理方式不当所引起的。在本文中,我们将深入探讨Netty中的进制转换和字符编码,并提供解决方案。 ...

    java中文乱码问题详解--- java中文乱码问题详解

    ### Java中文乱码问题详解 #### 一、中文问题的来源与背景 计算机技术发展初期,操作系统主要支持单字节的ASCII字符集。随着全球化进程加快和技术进步,为支持多种语言,尤其是双字节编码的语言(如中文),提出了...

    Java开发乱码问题解决方法汇总

    Java开发乱码问题解决方法汇总 Java开发中乱码问题是非常常见的问题之一,而解决这些问题需要具备一定的技术知识和经验。在本文中,我们将总结一些常见的Java开发乱码问题解决方法,希望能够为读者提供帮助。 1. ...

    JAVA 乱码问题集合

    在Java编程中,乱码问题是一个常见的困扰,尤其是在处理字符编码时。以下是一些关键的知识点,可以帮助理解和解决Java中的乱码问题。 首先,我们需要理解字符编码的基本概念。字符编码是用来表示文本的一种方式,...

    springboot乱码问题解决方案

    SpringBoot乱码问题解决方案 SpringBoot框架是一款流行的Java Web开发框架,但是在实际开发中,开发者经常会遇到乱码问题,导致项目无法正常运行。为了解决这个问题,本文将详细介绍SpringBoot乱码问题解决方案,并...

    解决中文乱码问题

    "解决中文乱码问题" 在Java编程中,中文乱码是一个常见的问题。为了解决这个问题,我们需要从多个方面入手。首先,我们需要将Eclipse的编码方式设置为UTF-8,以便正确地显示中文字符。其次,我们需要在浏览器中将...

    中文乱码问题

    中文乱码问题解决方案 中文乱码问题是 web 开发中经常遇到的问题,特别是在使用 JSP、Servlet、Struts 2 等技术时。乱码问题的出现主要是由于字符编码不一致所致。以下是解决中文乱码问题的知识点: JSP 文件的...

    jsp中文乱码问题jsp中文乱码问题详解

    jsp中文乱码问题详解 在jsp中文乱码问题中,乱码的出现是由于编码格式不一致所导致的。在jsp文件中,存在三个地方的编码格式:jsp文件的存储格式、解码格式和控制浏览器的解码方式。如果这三个地方的编码格式不一致...

    乱码解决 乱码解决 乱码解决 乱码解决 乱码解决

    在IT领域,乱码问题是一个常见的困扰,尤其是在处理文本数据时。乱码通常指的是字符显示不正确或无法识别,这可能由于编码格式不匹配、文件损坏、程序设置不当等原因引起。下面将详细讨论乱码产生的原因、解决方案...

Global site tag (gtag.js) - Google Analytics