“字符与编码”是一个被经常讨论的话题。即使这样,时常出现的乱码仍然困扰着大家
不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码。
我们经常所使用的页面默认编码一般是GB2312,当然这可以修改。当我们在传递数据时如果存在字符编码的转换,当转换出现错误时就会出现乱码。
GB2312、GBK等这些编码 用2个字节代表一个中文字符,而utf-8则是由3个字节存储一个字符。这也这是单个字符的时候容易出现乱码的原因,例如 “中国人”如果是utf-8的编码,它占9个字节,但如果转换成其他编码由于9是单数不能转换所以会出现乱码
一般情况下从jsp 到action 最好是不要传中文参数。但特殊需要的话有以下参考解决方案:
如果是普通请求:
1、 最好的方法是配置一个过滤器来设置request,response的编码方式,这是最方便而且一劳永逸的方法。但要确保你的提交方式是post
2、 如果是get请求,那最好的方案就是先获得字符参数的字节数组,然后再转换成正确的编码,new String(str.getBytes(“iso8859-1”),”GBK”)
如果是Ajax请求:
1、 首先就要用URLEcoder对字符串来进行加码,然后在action取参数的时候用URLDecoer进行解码。值得注意的是加码解码的编码方式要一致,不然会出现乱码
2、 如果页面是utf-8的编码,通过Ajax请求传递参数时上中方式还是不能解决问题,当他遇到特殊字符或是单数中文,半角时,还是会出现乱码。这时的解决方案是,首先还是要用URLEcoder对字符加码,然后在action取参数时先获得它的字节数组然后转换成相应的编码方式,new String(str.getBytes(“iso-8859-1”),”utf-8”)
分享到:
相关推荐
SpringBoot乱码问题解决方案 SpringBoot框架是一款流行的Java Web开发框架,但是在...本文详细介绍了SpringBoot乱码问题解决方案,并提供了详细的示例代码和配置方法,希望对大家的学习和工作具有一定的参考学习价值。
文档《JSP各种乱码的处理(一).doc》和《JSP各种乱码的处理(二).doc》中可能详细列举了各种JSP乱码问题的实例及解决方法,包括但不限于文件上传、读取流、数据库操作等方面,建议参考学习,以便更全面地理解并解决...
MySQL数据库系统中文乱码问题及解决方案 MySQL数据库系统中文乱码问题是指在使用MySQL数据库系统时,中文字符在...本文详细介绍了MySQL数据库系统中文乱码问题的成因和解决方案,为开发者提供了有价值的参考和指导。
### json 中文乱码解决方案 在处理JSON数据时,经常会出现中文乱码的问题,尤其是在不同编码格式间进行转换时更为常见。本文将详细介绍如何解决JSON中的中文乱码问题,并提供几种简单实用的方法来帮助开发者避免这...
以下是一份详细的步骤和解决方案,旨在帮助你克服这个挑战。 首先,我们需要理解Oracle数据库对字符集的支持。Oracle支持多种字符集,包括支持中文的ZHS16GBK、AL32UTF8等。ZHS16GBK是简体中文的GBK编码,而AL32UTF...
中文乱码问题在IT行业中是常见的...总之,理解和掌握字符编码的概念及其在Web开发中的应用是解决中文乱码问题的关键。保持编码一致性,正确配置服务器和过滤器,并注意浏览器的行为,可以有效地防止和解决这些问题。
### Oracle 乱码解决方案 #### 一、问题背景与成因 在安装并使用Oracle数据库管理系统(特别是Oracle 10g版本)的过程中,用户可能会遇到一个常见问题:Oracle Enterprise Manager (EM) 界面出现乱码现象。这不仅...
本文将深入探讨JSP中出现乱码的原因,并提供一系列解决方案,帮助你解决这一常见问题。 **乱码产生的原因** 1. **字符编码不一致**:JSP文件本身、HTTP请求头、响应头以及数据库存储的字符编码可能存在不一致,...
### 51单片机串口发送汉字乱码问题解决方案 #### 一、问题背景与现象 在使用51单片机进行串口通信时,可能会遇到一个常见问题:通过串口发送汉字时,接收端接收到的是乱码而不是正常的汉字。这不仅影响了数据传输...
### SAP DS 数据抽取时中文乱码的解决方案 #### 背景与问题描述 在使用SAP Data Services(简称DS)进行数据抽取时,尤其是在不同的操作系统(如AIX、UNIX或Linux)上运行且涉及跨数据库操作的情况下,中文字符可能...
通过以上步骤,你应该能够在Linux环境中成功解决JFreeChart的中文乱码问题。记住,关键在于正确配置字体和确保Java能够找到并使用这些字体。在实际开发过程中,根据具体环境和需求,可能需要进行一些额外的调整。
要解决smplayer的界面菜单乱码问题,我们需要分几步操作: 1. **安装中文语言包**: 在CentOS中,首先要确保系统支持中文语言。打开终端,使用`sudo yum install langpacks-zh_CN`命令安装中文语言包。这将增加对...
标题中的"Fedora 14 audacious的安装和Rhythmbox中文乱码解决方案"涉及到两个主要知识点:在Fedora 14操作系统上安装Audacious媒体播放器以及解决Rhythmbox和Audacious中出现的中文乱码问题。让我们逐一探讨这些内容...
本文将深入探讨vim中文乱码的原因,并提供有效的解决方案,以帮助用户在Fedora、Ubuntu等Linux发行版中顺畅地使用vim编辑中文文档。 ### vim中文乱码原因分析 中文乱码问题通常与编码设置不一致有关。在Linux环境...
在Oracle数据库环境中,PL/SQL是...文档《Oracle客户端中文乱码解决.docx》应该包含了详细的操作指南和案例分析,建议参考文档内容进行具体操作。在解决乱码问题时,保持耐心,仔细排查,通常能够找到合适的解决办法。
本文将深入探讨这个问题,并提供有效的解决方案。 首先,我们需要理解Linux系统、Oracle数据库以及EM之间的字符编码关系。Linux系统通常使用UTF-8作为默认的字符集,而Oracle数据库可能使用其他字符集,如AL32UTF8...
"java多种解决乱码方案详细资料大全"这个资源很可能包含了一系列针对Java中乱码问题的解决方案。这里,我们将深入探讨几种常见的解决方法。 1. 文件编码与读写: - 使用`BufferedReader`和`FileReader`时,可以...
本篇文章将针对"乱码问题终极解决方案"这个主题,深入探讨在Java、JSP和Ajax中如何有效地预防和解决乱码问题。 首先,我们要理解乱码产生的原因。乱码通常是因为字符编码不一致导致的,比如文件编码、程序内部编码...
**源代码查看神器Source Insight 3.5及中文乱码问题解决方案** Source Insight是一款深受程序员喜爱的源代码查看和编辑工具,它以其强大的代码高亮、语法分析和跳转功能而闻名。然而,在处理含有中文字符的代码时,...