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

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

阅读更多

 

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

&浏览器中看到的 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统一部署开发语言环境的说明

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

    android开发揭秘PDF

    8.4 网络通信的中文乱码问题 8.5 WebKit应用 8.5.1 WebKjt概述 8.5.2 WebView浏览网页 8.5.3 WebView与Javascript 8.6 WtFi介绍 8.7 蓝牙 8.8 小结 第9章 Android特色开发 9.1 传感器 9.2 语音识别 9.3 GoogleMap ...

Global site tag (gtag.js) - Google Analytics