知识大全 浅析Servlet和Jsp中的多国语言显示
Posted 中文
篇首语:识字粗堪供赋役,不须辛苦慕公卿。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 浅析Servlet和Jsp中的多国语言显示相关的知识,希望对你有一定的参考价值。
浅析Servlet和Jsp中的多国语言显示 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
因为一直不信Java竟会有不能混排显示多国语言的BUG 这个周末研究了一下Servlet Jsp的多国语言显示的问题 也就是Servlet的多字符集问题 由于我对字符集的概念还不是很清晰所以写出的东西未必是准确的 我是这样理解Java中的字符集的 在运行时 每个字符串对象中存储的都是编码为UNICODE内码的(笔者认为所有的语言中都是有相应编码的 因为在计算机内部字符串总是用内码来表示的 只不过一般计算机语言中的字符串编码时平台相关的 而Java则采用了平台无关的UNICODE)
Java从一个byte流中读取一个字符串时 将把平台相关的byte转变为平台无关的Unicode字符串 在输出时Java将把Unicode字符串转变为平台相关的byte流 如果某个Unicode字符在某个平台上不存在 将会输出一个´?´ 举个例子 在中文Windows中 Java读出一个 GB 编码的文件(可以是任何流)到内存中构造字符串对象 将会把GB 编码的文字转变为Unicode编码的字符串 如果把这个字符串输出又将会把Unicode字符串转化为GB 的byte流或数组 中文测试 > u e du u d bu bd > 中文测试
byte[] bytes = new byte[](byte) xd (byte) xd (byte) xce (byte) xc (byte) xb (byte) xe (byte) xca (byte) xd ;//GBK编码的 中文测试 java io ByteArrayInputStream bin = new java io ByteArrayInputStream(bytes); java io BufferedReader reader =new java io BufferedReader(new java io InputStreamReader (bin GBK )); String msg = reader readLine(); System out println(msg)这段程序放到包含 中文测试 这四个字的系统(如中文系统)中 可以正确地打印出这些字 msg字符串中包含了正确的 中文测试 的Unicode编码 u e du u d bu bd 打印时转换为操作系统的默认字符集 是否可以正确显示依赖于操作系统的字符集 只有在支持相应字符集的系统中 我们的信息才能正确的输出 否则得到的将会是垃圾
话入正题 我们来看看Servlet/Jsp中的多语言问题 我们的目标是 任一国家的客户端通过Form向Server发送信息 Server把信息存入数据库中 客户端在检索时仍然能够看到自己发送的正确信息 事实上 我们要保证 最终Server中的SQL语句中保存的时包含客户端发送文字的正确Unicode编码 DBC与数据库通讯时采用的编码方式能包含客户端发送的文字信息 事实上 最好让JDBC直接使用UNICODE/UTF 与数据库通讯!这样就可以确保不会丢失信息 Server向客户端发送的信息时也要采用不丢失信息的编码方式 也可以是Unicode/Utf
如果不指定Form的Enctype属性 Form将把输入的内容依照当前页面的编码字符集urlencode之后再提交 服务器端得到是urlencoding的字符串 编码后得到的urlencoding字符串是与页面的编码相关的 如gb 编码的页面提交 中文测试 得到的是 %D %D %CE%C %B %E %CA%D 每个 % 后跟的是 进制的字符串 而在UTF 编码时得到的却是 %E %B %AD%E % % %E %B % B%E %AF% 因为GB 编码中一个汉字是 位的 而UTF 中一个汉字却是 位的 中日韩三国的ie 以上浏览器均支持UTF 编码 这种方案肯定包涵了这三国语言 所以我们如果让Html页面使用UTF 编码那么将至少可以支持这三国语言
cha138/Article/program/Java/hx/201311/27246相关参考
浅析JSP开发中的对象和范围属性 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在JSP页面中的对象
JSP和Servlet配置详解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先是下载工具
JSP和Servlet的性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在本文中带领你学
Servlet和JSP迈上新台阶 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 即将面世的JEE
知识大全 Tomcat下JSP、Servlet和JavaBean环境配置
Tomcat下JSP、Servlet和JavaBean环境配置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
高性能、高弹性JSP和Servlet性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你的
高性能高弹性JSP和Servlet性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 你的J
知识大全 Java Servlet 和 JSP入门教程(1)
JavaServlet和JSP入门教程(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 概述
知识大全 Java Servlet 和 JSP入门教程(4)
JavaServlet和JSP入门教程(4) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 输出
知识大全 Java Servlet 和 JSP入门教程(2)
JavaServlet和JSP入门教程(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安装