在struts中的中文问题

host263 2003-11-05 02:52:45
在action里通过form把文字传到JSP页面,可是是乱码。
其实我在form里面已经做了转换
比如action中有setText("你好"),
在form中:
public void setText(String text) {
try{
this.text = new String(text.getBytes("ISO8859_1"),"GBK");
}catch(UnsupportedEncodingException e){}
}

在jsp中contentType="text/html; charset=GB2312"
pageEncoding="GB2312";

我看了很多资料觉的是没有什么问题。请高手帮忙看看,谢谢了 !
...全文
22 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
host263 2003-11-06
  • 打赏
  • 举报
回复
换成GB2312我试过的,不行的
我的流程是页面到Action,Action到EJB去读数据库。然后在到action,最后回到页面!
不过从前面的都没有问题的,我调试的时候输出来了,就是最后从action通过form传到jsp的时候出了问题的!
软猫克鲁 2003-11-06
  • 打赏
  • 举报
回复
关于转码好像有一个fliter的类专门用来做字符的的相互转换,我们的项目就是用的那个类。省了不少事……
skyjiang 2003-11-05
  • 打赏
  • 举报
回复
在action中设置encode=gb2312应该可以吧,也就不用转码这么麻烦了吧
fanth 2003-11-05
  • 打赏
  • 举报
回复
同意楼上的!
etre 2003-11-05
  • 打赏
  • 举报
回复
如上所说!其实还要看你的系统Local是如何设置的。
qwchung 2003-11-05
  • 打赏
  • 举报
回复
按楼上的试一试;而且文字转换不能多次来转换,这样也很容易出现乱码,所以你做的时候统一一下在页面上转还是在服务器端转,这样可以避免多次转换造成的乱码
cd119bear 2003-11-05
  • 打赏
  • 举报
回复
试试这个呢?(中文是繁体吗?繁体用BIG5)
try {
tempString = new String(tempString.getBytes("ISO-8859-1"),
"GB2312");
}
catch (Exception e) {
}

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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