JSP代码的中文处理

来源:互联网 发布:装饰图片的软件 编辑:程序博客网 时间:2024/05/18 03:44
 

JSP代码的中文处理
JSP代码中以下几处经常需要涉及到中文处理:

 1. URL中附带中文参数。这里中文参数通常可以直接读取,例如
: <%= request.getParameter(“showword”)%>;

 2. JSWDK中读取HTML表单提交的中文值这时需要加以编码,较为简洁的写法是:


String name1=new String(request.getParameter(“user_id”).getBytes(“ISO8859_1”))


 另外,在JDK 1.3的支持下,不需加入<%@ page contentType=“text/html;charset=gb2312”%>;,而在JDK 1.2.2 以下,即使以上两种方法同时运用也很不稳定。但在Resin平台,情况较好,只要在页面第一行加入:<%@ page contentType=“text/html;charset=gb2312”%>;即可正确处理中文,如果再加代码则反而不对。

 3.在JSWDKSession包含的中文,如果从表单中读出的值经过编码可正确显示,但直接赋予中文值则不行,而Resin平台则很好。

 4.在编译ServletJSP时加入代码选项。在编译Servlet时使用Java-Encoding ISO8859-1 myservlet.java;在JSPZONE配置文件中,修改编译参数为:Compiler=builtin - javac- encoding ISO8859-1。使用这种方法后,不需要做其他的改动就可以正常显示中文了。

  另外,流行的关系数据库系统都支持数据库Encoding,也就是说在创建数据库时可以指定它自己的字符集设置,数据库的数据以指定的编码形式存储。当应用程序访问数据时,在入口和出口处都会有Encoding 转换。对于中文数据,数据库字符编码的设置应当保证数据的完整性。GB2312GBKUTF-8等都是可选的数据库 Encoding,也可以选择ISO8859-1 (8-bit),但会增加了编程的复杂度,ISO8859-1不是推荐的数据库Encoding。在JSP/Servlet编程时,可以先用数据库管理系统提供的管理功能检查其中的中文数据是否正确。