星期五, 五月 28, 2004

MBSC 多字节字符传递规则.(JSP->Servlet/JSP->JSP)

多字节字符(比如汉字)在JSP之间传递,和JSP->Servlet之间传递的规则不同.

1.JSP->JSP
汉字通过URL?a= &b= 方式在JSP之间传递的时候,必须将汉字java.net.URLEncoder.encode((String)request.getAttribute("academicPeriod"),"gb2312"),来编码,汉字的字符是要根据实际数据显示渲染的charset来定.

2.JSP->Servlet
汉字从JSP->Servlet必须编码为本地字符编码,不能为UTF-8字符.如果为UTF-8字符必须通过new String(STR.getBytes("UTF-8","iso-8859-1")来转换.

3.如果页面导航逻辑没有冲突,可以考虑把要传递的内容设置在bean或request.setAttribute().