JSTL中接收参数的中文问题?

Guohui 2005-07-26 11:05:58
从前一个页面的文本框中提交中文的数据,在第二个页面上用
<fmt:requestEncoding value="gb2312" />
然后用接收的参数:<font color="red">${param.username}</font>
显示的是乱码
然后我换成<% request.setCharacterEncoding("gb2312"); %>
再用同样的语句${param.username}接收正常,
谁能告诉我为什么?
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liwenchao 2005-09-19
  • 打赏
  • 举报
回复
或者通过一个字符编码的函数来解决,就是把请求通过iso-8859-1来编码
<%!String trans(String chi){
String result=null;
byte temp[];
try{
temp=result.getBytes("iso-8859-1");
result=new String(temp);
}
catch(UnsupportedEncodingException e){
System.out.println(e.toString());
}
return result;
}
%>
liwenchao 2005-09-19
  • 打赏
  • 举报
回复
提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF-8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.setCharacterEncoding("gb2312")对请求进行统一编码,就实现了中文的正常显示。
javaprogramlover 2005-09-19
  • 打赏
  • 举报
回复
中文问题用filter,编码尽量用utf-8!

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧