知识大全 Java多语言编码问题解析(1)

Posted

篇首语:宿命论是那些缺乏意志力的弱者的借口。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java多语言编码问题解析(1)相关的知识,希望对你有一定的参考价值。

Java多语言编码问题解析(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   Java编译器在对源文件编译前 会先把源文件转换为unicode编码 因为这个原因 我们在编译时一定要把源文件用的是什么编码方式正确无误的 告诉 编译器     例如 我们的源文件是以UTF 的方式保存的 而在编译时编译器却把它当作是用GBK方式保存的 这样编译器就会按照GBK >Unicode的编码转换方法对源文件进行转换 然后再编译 这样当然会出错 实际上编译器应当按照UTF >Unicode的编码转换方法来对源文件进行转换     a.对于控制台程序 编译器会把源文件看作是由系统默认的编码类型来编码的(系统默认的编码类型取决于在控制面板区域设置里的配置 中文win k下通常是GBK) 也可以使用 encoding参数来设置 如 javac encoding UTF 这样编译器就会把源文件看作是用UTF 编码的(这只是告诉编译器源文件的编码类型 而不是对源文件转码) 在各种语言的平台上只要在编译用时 encoding指定与源文件的编码相同的编码方式 就不会存在国际化的问题了     b.对于JSP 编译器则会根据设定的字符集来判断JSP文件使用的是什么编码方式 进而将其转换成unicode后进行编译 若JSP中未指定 编译器则会把JSP文件看作是按照系统默认的编码来保存的 在JSP 里新增了一个指令来通知编译器这个源文件所使用的编码方式      在处理输入输出时 注意设置输入流和输出流的编码类型与用户输入时和输出设备显示时采用的编码方式一致     由于JRE在处理输入输出时会将输入或输出的内容进行编码转换 对于输入会转换为unicode后再送入 因此要正确的匹配实际输入内容的编码方式和告知JRE的编码方式 对于输出 会由unicode转换为其他的编码再送出程序 因此要正确匹配输出设备显示时用的编码方式和告知JRE的编码方式     例如 程序中设置输入流的编码是new InputStreamReader(System in GB ) 而程序运行后用户输入时用了繁体中文的输入法 输入了BIG 编码的内容 这样JRE把BIG 编码的内容当作GB 的进行了GB >unicode的编码转换 这样转换后的结果显然不是用户想要输入的内容了     默认情况下 JRE会把输入输出的内容当作是按照系统默认编码方式编码的      在Servlet中 除了一定要把源文件用的是什么编码方式正确无误的 告诉 编译器外 还要注意实际提交的URL数据 表单数据的编码格式和request中声明的编码格式一致     客户端浏览器在通过表单和URL提交数据时 容器和JVM会将request中的数据看作是按照request所声明的编码方式来编码的 将数据由这种编码方式转换为unicode后再送入servlet(实际上容器会先将request中的数据转为一种中间编码方式 具体根据容器的配置而定 再由JVM由这种中间方式转换为unicode 通常这种中间格式是ISO) servlet输出的unicode数据会由容器根据response中声明的编码方式进行转换 再送到客户端浏览器上     在接收客户端输入时 用request setCharacterEncoding()声明请求中数据的编码方式     在向客户端输出时用response setContentType( text/;charset= ) 声明响应的数据的编码方式 告知浏览器以哪种编码方式显示      在JSP中 由于JSP本就会被JSP编译器编译为servlet来运行 因此情况与servlet相同     这两个JSP指令声明了请求和响应的编码方式     只要确保URL参数或表单中数据的编码方式和所声明的编码方式一致 再通过告知JSP编译器本JSP文件采用的编码方式及含有哪种字符 即可解决JSP的字符编码问题 cha138/Article/program/Java/JSP/201311/19279

相关参考

知识大全 RH8实现多用户多语言登陆

RH8实现多用户多语言登陆  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  RH实现多用户多语言登

知识大全 C#的Windows编程中多语言的实现

C#的Windows编程中多语言的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  实现多语言

知识大全 .NET Framework 中多语言支持的实现

.NETFramework中多语言支持的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前言

知识大全 ASP.NET MVC 多语言解决方案

ASP.NETMVC多语言解决方案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现在ASPNE

知识大全 利用INI文件实现界面无闪烁多语言切换

利用INI文件实现界面无闪烁多语言切换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序运行时

知识大全 用.NET的System.Globalization来创建多语言应用程序

用.NET的System.Globalization来创建多语言应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 Java中的中文编码问题

Java中的中文编码问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ()为什么要编码&nbs

知识大全 Java属性文件编码问题

Java属性文件编码问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Property文件中使

知识大全 Java web解决常见编码出现的问题

Javaweb解决常见编码出现的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 Java二维码的生成以及解析

Java二维码的生成以及解析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  日本人写的解码与编码