为解决JSP中显示中文乱码的问题,一般我们在HttpResponse对象中对响应内容设置中文字符集
如下:
Response.setCharacterEncoding("GB2312");
Response.setContentType("text/html;charset=GBK");
那这个GB2312和GBK分别是什么,有什么关系?
/*
GBK是一个汉字编码标准,全称《汉字内码扩展规范》,于1995 年制定。GB2312是1980年国家制定的汉字内码规范。
GBK标准中收录了2万多汉字及符号,因其最早被WINDOWS采用,所以其应用范围非常广。GB2312中收录了6千多汉字及符号,通常所说的一、二级汉字库就全部包含在GB2312中。
虽然GB2312包含了绝大部分的常用简体汉字,但是由于中文的复杂性,所以GB2312目前已经越来越不能适应需要了,特别是因为人名、地名中包含的很多字GB2312中都没有,如朱镕基的‘镕’字,GB2312中就没有包含,这样导致很多混乱。
正因为GB2312的这些问题,国家标准化委员会又制定了GB13000,GB13000制定的原则与GB2312不同,GB13000以国际化为目标, 该标准编码参照了Unicode 2.0 标准编码,与GB2312完全不兼容,因早期的计算机中的汉卡采用了GB2312,无法顺利向GB13000过渡,所以GB13000变成了一个纸面上的 标准,无法推广。
有了以上经验,国家标准化委员会制定了GBK标准,他兼容GB2312标准,同时在GB2312标准的基础上扩展了GB13000包含的字,但编码修改 了,该标准一经推出,就被WINDOWS95所采用(另一种说法是微软协助制定了此标准,这也可以印证为什么GBK标准一直没有出现在官方的标准目录 中)。因有微软的支持,该标准迅速得到广泛的应用。
GBK之后又有GB18030标准,因GB18030较GBK又多了几千汉字,码位不足,GB18030使用了2byte与4byte混合编码方式,这又给软件增加了难题,所以虽然GB18030推出了近5年,仍然没有得到广泛应用。
*/
综合以上所叙述,设置中文编码,我们建议使用当前广泛使用的GBK编码即可。
分享到:
相关推荐
- 如果数据库中存储的中文字符出现乱码,首先需要检查数据库的字符集设置是否正确。 - 对于MySQL数据库,可以在配置文件(如`my.ini`)中设置默认的字符集为UTF-8: ```ini [client] default-character-set=UTF...
综上所述,解决JSP页面中文乱码问题需要从多个层面考虑,包括HTTP头部、页面编码、服务器配置以及开发工具设置等。通过全面理解和应用这些知识点,开发者可以有效防止和解决这类问题,提升Web应用的用户体验。
#### JSP页面中文问题的根本原因 在JSP页面中出现中文乱码的原因主要有以下几个方面: 1. **文件存储编码不一致**:JSP文件本身的编码与项目设置的编码不一致。 2. **服务器响应编码设置不一致**:服务器返回给...
在开发Web应用时,我们经常会遇到JSP页面中文乱码的问题。这主要涉及到字符编码的设置和处理。本文将深入探讨如何解决这个问题,确保在JSP页面中正确显示中文字符。 首先,我们需要理解字符编码的基本概念。在...
- **设置全局字符集**:在MySQL配置文件(`my.cnf`或`my.ini`)中设置全局字符集,例如: ```ini [mysqld] character-set-server=utf8 ``` - **调整连接字符集**:确保在应用层连接数据库时使用正确的字符集,如:...
- **定义字符集**:首先,你需要定义一个包含随机中文字符的集合,可以包括常用汉字,甚至可以加入一些生僻字以增加复杂度。 - **随机选择**:使用Java的Random类来生成随机数,根据随机数在字符集中选取字符。 -...
无论是JSP页面本身还是与之交互的Servlet和数据库,都需要确保字符集设置的一致性,这样才能有效避免中文乱码等问题的发生。此外,通过反向工程还可以发现其他潜在问题并进行优化,提高系统的整体质量和性能。
2. 在JSP页面中统一字符集,使用;charset=UTF-8">来指定字符集,並在JSP頁面中使用”UTF-8”%>来指定字符集。 3. 在Request中统一字符集,使用request.setCharacterEncoding(“utf-8”)来指定字符集。 4. 在...
可以通过设置JSP页面的`pageEncoding`和`contentType`属性来指定页面使用的字符集。例如: ```jsp ;charset=GBK" pageEncoding="GBK" %> ``` 这里指定了页面的`contentType`为`text/html;charset=GBK`,表示HTML...
这里,`contentType`定义了页面的MIME类型和字符集,`pageEncoding`指定了JSP源文件的编码。将`pageEncoding="ISO-8859-1"`改为`pageEncoding="GBK"`,可以确保该JSP文件内部的编码方式与乱码问题相匹配。然而,这种...
- **未指定字符集编码**:当JSP页面中包含中文且未明确指定字符集时,如ISO-8859-1不支持中文,会导致乱码。解决方法是在页面顶部添加`; charset=gb2312"%>`或指定其他适用的字符集,确保与浏览器解码方式一致。 - ...
当JSP页面中的中文字符无法正确显示时,通常是因为没有指定页面的字符集编码。JSP支持多种字符集,如GBK、UTF-8等。为解决此问题,可以在JSP页面顶部添加`;charset=UTF-8" %>`,将`charset`属性设置为对应的字符集...
解决方法是在JSP页面顶部添加`@page`指令,指定页面内容的字符集为`gb2312`或其他支持中文的字符集,如下: ```jsp ;charset=gb2312" %> ... ``` 实例二:JSP页面传递中文参数时的乱码 当用户通过表单提交包含...
1. 字符集不一致:JSP页面、Servlet、HTML、CSS、JavaScript、数据库等环节如果使用的字符集不统一,容易导致中文字符在传输或解析过程中编码与解码不匹配,产生乱码。 2. 编辑器问题:开发工具的默认编码设置与...
当浏览器尝试解析一个包含中文的JSP页面时,如果页面和浏览器的字符集设置不一致,则会出现乱码。为了避免这种情况的发生,可以通过以下两种方式设置JSP页面和浏览器使用统一的字符集: - **在JSP页面中设置字符集...
1. 在JSP页面中,确保页面的`contentType`设置正确,通常应设置为`charset=UTF-8`,以避免页面显示中文时的乱码问题。 2. 传递参数时,尽可能使用POST方法,因为GET方法的URL长度有限制,且参数会显示在地址栏中,...
- **数据库编码**:如果数据需要保存到数据库,确保数据库的字符集也支持UTF-8编码,比如MySQL的`CHARSET=utf8`。 - **响应编码**:在Servlet中设置响应的编码,例如`response.setContentType("text/html;charset=...
### 解决JSP页面中文乱码问题 #### 一、问题背景 在使用JSP(Java Server Pages)技术开发Web应用程序的过程中,经常会遇到中文乱码的问题。特别是在接收表单提交的数据或者显示数据库查询结果时,中文字符可能会...
当我们在JSP页面中创建一个链接指向一个包含中文名称的文件时,如果服务器不支持正确的字符编码,就可能出现"找不到页面"的错误。 在描述中提到的情况中,开发者发现英文文件名的链接可以正常工作,而中文文件名的...