现在的位置: 首页 > 综合 > 正文

Web应用的中文本地化

2013年05月27日 ⁄ 综合 ⁄ 共 914字 ⁄ 字号 评论关闭

当数据流的源与目的地使用不同的字符编码时,就需要对字符编码进行正确的转换:

1. 处理HTTP请求数据编码

  默认情况下,IE浏览器发送请求时采用“ISO-8859-1”字符编码,如果Web应用程序要正确读取用户发送的中文数据,则需要进行编码转换。

  一种方法是在处理请求前,先设置HttpServletRequest对象的字符编码:

        request.setCharacterEncoding("gb2312");

       另一种方法是对用户输入的请求数据进行编码转换:

      String clientData = request.getParameter("clientData");

      if(clientData != null)

            clientData = new String(clientData.getBytes("ISO-8859-1"),"GB2312");

2. 处理数据库数据编码

    如果数据库系统的字符编码是“GB2312”,则可以直接读取数据库中的中文数据,无需要转换。如果数据库的字符编码为“ISO-8859-1”,则先对来自数据库的数据进行编码转换,然后才能使用。方法是

  new String(field.getBytes("ISO-8859-1"),"GB2312")

  这里field为数据库表的某个字段值

3. 处理XML配置文件编码

    如果在XML文件中包含中文,可以将XML文件的字符编码设为"GB2312",当Java程序加载和解析XML文件时无需再进行编码转换。即在XML文件中直接输写中文。

4.  处理响应结果的编码

   Servlet中:response.setContentType("text/html;charset=gb2312");

   JSP中:<%@ page contentType="text/html;charset=gb2312"%>

    HTML中:

       <head>

        <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb2312">

        </head>

 

 

【上篇】
【下篇】

抱歉!评论已关闭.