Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Architecture & Framework  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 struts中文问题,有几种解决的办法
灯泡



发贴: 0
积分: 0
于 2003-06-24 16:53 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我在页面中提交的中文字符,到了action中。我用request.getParameter("**");得到的都是乱码。(英文除外)
我看了一些。文章。大家讨论一下能有几种解决的办法。用过滤器是一种,不过我还没有试过。



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
lihongtao





发贴: 131
积分: 41
于 2003-06-24 17:29 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
如果你的应用服务器支持Servlet 2.3,过滤器是最简单的一种:
<web-app>
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.cj.encflt.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
……
……
</web-app>
在自己的代码中不需要任何处理,encflt下载地址:
http://www.servletsuite.com/servlets/encflt.jar



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
dapan



CJSDN高级会员


发贴: 929
积分: 80
于 2003-06-24 17:29 user profilesend a private message to usersend email to dapansearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
把ISO转变为GB2312就可以了。

^_^



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
灯泡



发贴: 0
积分: 0
于 2003-06-26 09:56 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
to lihongtao
上次的乱码解决,其实是我自己的错误,我在action种多加了一句,request.getCharacterEncode("gb2312").这样,我可以打出在action中。request.getParameter()/得到的值,中文显示正常。但是,我插入到mysql数据库,就是乱码了。
然后,我去掉getCharacterEncode.这时,想跟踪request的值,是乱码,但是插入数据库正常。
mysql数据库接受的编码格式iso8859-1.从request得到的数据直接插入没问题。
我现在的想法是:
如果有过滤器,我的request经过过滤器的处理,编码格式编程gb2312了。那数据插入数据库,就会出问题了。
过滤器,也可以处理response吧!这样到可以把iso8859-1的编码转成gb2312.到页面该正常显示!!
过滤器没有过,希望大侠门多多讨论一下,给段过滤器的源代码,我look一下



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
灯泡



发贴: 0
积分: 0
于 2003-06-26 10:01 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
上面的该是request.setCharacterEncode("gb2312")
to元老
咱们这个论坛的提交后几秒钟后转向另一个页面,是如果做的。
给点提示好吗。
我以前见过html页面类似的代码,忘了。



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
dapan



CJSDN高级会员


发贴: 929
积分: 80
于 2003-06-26 10:22 user profilesend a private message to usersend email to dapansearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
发一个帖您就可以看到了:

<script>
function jumpBack() {
  window.location="http://www.cjsdn.com/post/view?bid=20&id=35931&tpg=1&ppg=1&sty=0#36313";
}
setTimeout("jumpBack()",2000);
</script>

2000毫秒=2秒

That's it.

^_^



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
lihongtao





发贴: 131
积分: 41
于 2003-06-26 10:26 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
to 灯泡
在java中如果使用System.out.println(your_chinese_message)能正常显示,插入MySQL出现乱码,这说明在JDBC层出现了问题。在MySQL的JDBC Driver(mm.mysql.)中提供了对多语言的支持,你需要在JDBC连接的URL中加参数:
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=gb2312



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
灯泡



发贴: 0
积分: 0
于 2003-06-27 09:58 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
thanks all friends.
no pain no gain



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
灯泡



发贴: 0
积分: 0
于 2003-06-27 12:12 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
to 元老
你们的有些页面,后退时,让其失效。怎么做的。
很多地方,做的地方做的都挺不错



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
haibo



CJSDN高级会员


发贴: 322
积分: 71
于 2003-06-27 13:49 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我用的和以前本论坛所发的“struts 中文问题"(用filter)一贴 一样的方法,只不过我用的filter式UTF-8代替了GB2312,页面中文无问题,但就是存入数据库后为乱码,取出也是乱码。我在插入语句之前用System.out.println("bean中的字段“)打出为正确的中文,所以我怀疑问题出在数据库设置。。也就是SQLServer 2000单我设的式nvarchar型呀,应该可以存储unicode ,为什么出乱码??



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
灯泡



发贴: 0
积分: 0
于 2003-06-28 12:10 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
to haibo
很多数据库默认是iso8859-1.
你把数据在插入数据库之前,用String(src.getBetys("utf-8"),"iso8859-1");
类似的函数很多,就是将你现在用的编码格式转换成iso8859-1.
try again.if failture,we can find another method to try again.



作者 Re:struts中文问题,有几种解决的办法 [Re:灯泡]
hxzhappy



发贴: 0
积分: 0
于 2003-07-01 20:46 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
真老套,好像那种办法不行也



flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923