知识大全 JSP中的汉字编码问题
Posted 知
篇首语:任何业绩的质变都来自于量变的积累。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JSP中的汉字编码问题相关的知识,希望对你有一定的参考价值。
JSP中的汉字编码问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
网上就 JSP/Servlet 中 DBCS 字符编码问题有许多优秀的文章和讨论 本文对它们作一些整理 并结合 IBM WebSphere Application Server (WAS)的解决方法作一些说明 希望它不是多余的
内容
问题的起源
GB GBK GB 汉字字符集及 Encoding
中文转码时′?′ 乱码的由来
JSP/Servlet 汉字编码问题及在 WAS 中的解决办法
结束语
参考文章
问题的起源
每个国家(或区域)都规定了计算机信息交换用的字符编码集 如美国的扩展 ASCII码 中国的 GB 日本的 JIS 等 作为该国家/区域内信息处理的基础 有着统一编码的重要作用 字符编码集按长度分为 SBCS(单字节字符集) DBCS(双字节字符集)两大类 早期的软件(尤其是操作系统) 为了解决本地字符信息的计算机处理 出现了各种本地化版本(L N) 为了区分 引进了 LANG Codepage 等概念 但是由于各个本地字符集代码范围重叠 相互间信息交换困难 软件各个本地化版本独立维护成本较高 因此有必要将本地化工作中的共性抽取出来 作一致处理 将特别的本地化处理内容降低到最少 这也就是所谓的国际化(I N) 各种语言信息被进一步规范为 Locale 信息 处理的底层字符集变成了几乎包含了所有字形的 Unicode
现在大部分具有国际化特征的软件核心字符处理都是以 Unicode 为基础的 在软件运行时根据当时的 Locale/Lang/Codepage 设置确定相应的本地字符编码设置 并依此处理本地字符 在处理过程中需要实现 Unicode 和本地字符集的相互转换 甚或以 Unicode 为中间的两个不同本地字符集的相互转换 这种方式在网络环境下被进一步延伸 任何网络两端的字符信息也需要根据字符集的设置转换成可接受的内容
Java 语言内部是用 Unicode 表示字符的 遵守 Unicode V Java 程序无论是从/往文件系统以字符流读/写文件 还是往 URL 连接写 HTML 信息 或从 URL 连接读取参数值 都会有字符编码的转换 这样做虽然增加了编程的复杂度 容易引起混淆 但却是符合国际化的思想的
从理论上来说 这些根据字符集设置而进行的字符转换不应该产生太多问题 而事实是由于应用程序的实际运行环境不同 Unicode 和各个本地字符集的补充 完善 以及系统或应用程序实现的不规范 转码时出现的问题时时困扰著程序员和用户
GB GBK GB 汉字字符集及 Encoding
其实解决 JAVA 程序中的汉字编码问题的方法往往很简单 但理解其背后的原因 定位问题 还需要了解现有的汉字编码和编码转换
GB 是在国内计算机汉字信息技术发展初始阶段制定的 其中包含了大部分常用的一 二级汉字 和 区的符号 该字符集是几乎所有的中文系统和国际化的软件都支持的中文字符集 这也是最基本的中文字符集 其编码范围是高位 xa - xfe 低位也是 xa xfe 汉字从 xb a 开始 结束于 xf fe
GBK 是 GB 的扩展 是向上兼容的 它包含了 个汉字 其编码范围是 x xfefe 剔除高位 x 的字位 其所有字符都可以一对一映射到 Unicode 也就是说 JAVA 实际上提供了 GBK 字符集的支持 这是现阶段 Windows 和其它一些中文操作系统的缺省字符集 但并不是所有的国际化软件都支持该字符集 感觉是他们并不完全知道 GBK 是怎么回事 值得注意的是它不是国家标准 而只是规范 随着 GB 国标的发布 它将在不久的将来完成它的历史使命
GB (GBK K) 在 GBK 的基础上进一步扩展了汉字 增加了藏 蒙等少数民族的字形 GBK K 从根本上解决了字位不够 字形不足的问题 它有几个特点
它并没有确定所有的字形 只是规定了编码范围 留待以后扩充
编码是变长的 其二字节部分与 GBK 兼容 四字节部分是扩充的字形 字位 其编码范围是首字节 x xfe 二字节 x x 三字节 x xfe 四字节 x x
它的推广是分阶段的 首先要求实现的是能够完全映射到 Unicode 标准的所有字形
它是国家标准 是强制性的
现在还没有任何一个操作系统或软件实现了 GBK K 的支持 这是现阶段和将来汉化的工作内容
Unicode 的介绍 就免了吧
JAVA 支持的encoding中与中文编程相关的有 (有几个在JDK文档中未列出)
cha138/Article/program/Java/JSP/201311/20104相关参考
publicstaticfinalStringsplitPages(intthePageStringqueryStringintcount intpageLength) intmaxPag
Java中的中文编码问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ()为什么要编码&nbs
页面中这段不起眼的代码<metaequiv="ContentType"content="text/;charset=GBK">错把如果charset=GBK设置为charset=UTF
PHP程序开发中的中文编码问题[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 定位问题时常
PHP程序开发中的中文编码问题[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据库中的字
PHP程序开发中的中文编码问题[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PHP程序设
PHP程序开发中的中文编码问题[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 同样也留有一
Java本身就支持多国语言编码不需要写任何程序可以很简单的实现秘诀就是两点 所有HTML/JSP页面全部采用UTF编码 客户端浏览器完全支持UTF编码 步骤 首先把所有的HTM
在jsp和servlet的开发中今天自己做的一个小例子中出现了中文乱码问题用了许多方法发现还是解决不了最后我用了过滤器才算终结 此方法总结如下在jsp页面中使用<%@pagepageEnc
JSP虚拟主机使用中的乱码问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!