`
小码哥BASE64
  • 浏览: 122127 次
社区版块
存档分类
最新评论

开发中常见的中文乱码原因

阅读更多

 

在开发中,我们常常遇到中文乱码的问题,比如:

&浏览器中看到的 Jsp/Servlet 页面中的汉字成了 ’?     

&浏览器中看到的 Servlet 页面中的汉字都成了乱码    

&Jsp/Servlet 页面无法显示 GBK 汉字。

&Jsp/Servlet 不能接收 form 提交的汉字。

&JSP/Servlet 数据库读写无法获得正确的内容。

隐藏在这些问题后面的是各种错误的字符转换和处理。解决类似的字符encoding问题,需要了解 Jsp/Servlet 的运行过程,检查可能出现问题的各个点。下面是一些自己运用中的一些分享:

1.jsp中如果指定了<%@ page contentType="text/html; charset=A"%>,那么在该jsp中所有构造的String(不是引用),如果沒有指定编码,那么这些String的编码是A的;从request得到的String如果沒有指定request的编码的话,他是iso-8859-1的;从别的地方得到的String是使用原來初始的编码的,比如从数据库得到String,如果数据库的编码是B,那么该String的编码是B而不是A的,也不是系统默认的。此时,如果要输出的String的编码不是A,那么,很可能显示乱码的,所以首先要将String正確转化为编码AString,然后输出。

 

2. 如果在jsp中沒有指定<%@ page contentType="text/html; charset=A"%>,那么相当于指定了<%@pagecontentType="text/html; charset=ISO-8859-1" %>

 

3. Servlet中如果执行了语句:response.setContentType("text/html;charset=A");説明将response的字符输出流编码设置为A,所有要输出的String的编码要转化为A,否則会得到乱码。Servlet中从request得到的String的编码和jsp中一样的,但是在servlet java文件中构造的String是使用的系统默认的编码的。在servelt中从外部得到的String是使用原来的编码的,比如从编码为B的数据库得到的数据是编码为B,不是A,也不是系统默认的编码。

 

综上所属,要解决我们常见的中文乱码问题,需要理解数据交互中Jsp, Servlet, 数据库中数据的编码定义,统一编码格式或做适当转换。

分享到:
评论

相关推荐

    JAVA开发中各种中文乱码问题

    改文档详细总结了JAVA开发中的各种常见的中文乱码,比如JSP页面的中文乱码,数据库的中文乱码等。

    解决web项目开发中常见的中文乱码问题.pdf

    解决web项目开发中常见的中文乱码问题.pdf

    JSP技术中文乱码的原因及解决方法

    以前有关JSP技术中文乱码的研究,只是侧重于对常见的几种中文乱码情况分析,并从网页代码方面进行研究,然后给出相应的代码,缺少对造成中文乱码原因的研究。本文从造成乱码的根本原因入手进行分析,以JSP技术工作过程为...

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

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

    JSP中文乱码常见3个例子及其解决方法.docx

    JSP中文乱码常见3个例子及其解决方法.docx

    JavaWeb开发中文乱码问题解决方案

    中文乱码问题是JavaWeb开发中最常见的问题之一,解决的方法也有很多种,其中,过滤器是最常用的方法之一。提供了过滤器的源码和详细配置。

    Java Web开发中的中文乱码问题分析及解决方案.pdf

    在进行java Web开发的过程中,由于采用的编码和解码的方式不统一,...文中首先介绍了java Web的编码机制及JSP运行原理,继而阐述了在开发过程中常见的乱码问题及解决方案,最后提出采用过滤器重写getParameter方法,实现...

    PHP中文乱码问题解决方法

    PHP中文乱码是PHP开发中的常见问题之一。PHP中文乱码有时发生在网页本身,有些产生在于MySQL交互的过程中,有时与操作系统有关。

    JSP和Servlet 中的汉字编码(乱码)问题

    该文档提出了解决jsp开发中常见的汉字编码乱码问题的解决方案,值得参考。

    Java Web开发中的乱码问题分析及解决方案研究 (1).pdf

    在利用JSP/Servlet技术开发java Web应用程序的时候,经常会遇到中文乱码问题,本文首先介绍了Web应用中常见的编码方式,然后分析了J2EE平台下Web应用中文乱码产生的原因,并针对不同情况给出了解决方法。

    Java Web中文乱码处理研究.pdf

    在java Web应用开发常见的问题中,中文的乱码问题在页面中没有统一的方法解决,造成程序员浪费大量的时间与精力且代码效率不高,因此提出了新的乱码算法,并设计了通用的乱码处理器,提高了程序员的工作效率.

    filter过滤器流程及中文乱码解决和客户端IP地址控制

    本教程中以实际例子介绍了过滤器的运行方式,以JSP开发中常见的中文乱码过滤器和限抽客户机IP访问的二个例子,本教程中代码部分转载,都经过本人修改了其中错误,加了详细注释,保证可以正常运行,希望对大家有所帮助

    JavaWeb中文乱码处理研究 (2010年)

    在JavaWeb应用开发常见的问题中,中文的乱码问题在页面中没有统一的方法解决,造成程序员浪费大量的时间与精力且代码效率不高,因此提出了新的乱码算法,并设计了通用的乱码处理器,提高了程序员的工作效率。

    JSP中文乱码常见3个例子及其解决方法

    当我们在学习JSP开发时,中文乱码是个比较常见的问题,其根源是:Web容器默认的字符处理编码是ISO-8859-1。下面我们来详细看看如何去解决这个问题。

    SPC5Studio常见问题汇总 20180905-V3.pdf

    在应用开发过程中只需要根据需求添加相应的功能组件,并对组件进行简单配置,便可快速生 成代码,大大缩短了项目开发周期。SPC5Studio 是进行 SPC5 系列汽车级 MCU 嵌入式应用开发 不可或缺的软件工具。 本文档首先...

    eclipse统一部署开发语言环境的说明

    统一团队开发环境,统一编码, 让数据在文件中能正常显示,解决常见中文乱码问题。

    asp.net URL中包含中文参数造成乱码的解决方法

    中文乱码一直以来是WEB开发中比较常见的问题之一,对于初学者来说,各种各样的编码方式可能会有点不适应,本篇文章并不讲述这些编码,而是把自己遇到的一个小问题以及该问题的解决之法说明一下,希望对大家有用。

Global site tag (gtag.js) - Google Analytics