首页 > java > jsp字符集转换

jsp字符集转换

2009年4月10日 发表评论 阅读评论

一、页面字符集转换
  jsp中通常需要在第一行放置如下代码:
<%@ page contentType="text/html; charset=GB2312" %>
  该行代码的作用是告诉jsp引擎(如tomcat、resin等),本页面使用的字符集是GB2312。如果jsp页面中包含有汉字,一定要包含本行代码。否则jsp引擎使用默认的字符集,这可能会导致jsp输出页面乱码。
  同时jsp输出页面的字符集为GB2312,如果要按其他字符集输出,只需使用:
response.setContentType(“页面类型”);
  例如:wap中通常要求页面按utf-8输出,只需把response的ContentType设置为utf-8即可,设置语句为:
response.setContentType(“text/html; charset=utf-8”);
jsp引擎会自动把输出的页面转换成指定的字符集。
二、参数值字符集转换
  在jsp中,可以使用request.getParameter(“参数名”)获得参数值,参数值的默认字符集是ISO8859_1,如果不进行字符集转换,将导致汉字乱码。
  通常的做法:
String szUserName = request.getParameter(“username”);
szUserName = new String(szUserName.getBytes(“ISO8859_1”), “GB2312”);
  这种做法的缺点可能会包含汉字的参数值都需要转换,容易遗漏,代码量也相应增加了。
另外一个简便的方式是:在获取参数前,调用:
request.setCharacterEncoding(“GB2312”);
该语句的作用是告诉jsp引擎,页面参数采用的是中文编码,由jsp引擎自动完成字符集转换。然后,程序中直接调用request.getParameter(“参数名”)即可获得参数值,不需要再次进行字符集转换。

分类: java 标签: 1,971 次阅读
原文链接:http://www.wenhq.com/article/view_286.html
欢迎转载,请注明出处:亲亲宝宝
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.