bean:write 乱码

我现在想在一个页面中包含一个action。
使用jsp:include出错了。
struts Cannot forward after response has been committed

看到了[url]http://www.iteye.com/problems/8210[/url],所以使用bean:include来解决 。。

但出现乱码现象。不知道是为什么,我直接访问这个action,却没有出现乱码?不知道这是什么原因。
[b]问题补充:[/b]
首先谢谢大家。
但还是没有解决我的问题。。

我的所有地方都是utf-8的,在直接访问这个action的时候,是没有乱码的

但在一个页面中使用




包含一个action的时候,就出现乱码了。。很是奇怪。。

不知道大家是怎么在一个页面中引用一个action的。
[b]问题补充:[/b]
[quote]这种行不通,你就不要用include撒.你引用action无非就是想执行这个action

你为何不先把action执行完了再跳转到这个页面来呢?这样做好像正统一些[/quote]

比如每个页面中都需要个商品分类,那么每个Action中都是写个调用service的方法,那这个可以提取出来的放到一个独立的action啊。
[b]问题补充:[/b]
request.setCharacterEncoding("utf-8")
response..setCharacterEncoding("utf-8")
都试过了。

现在我找到了一种解决的方法,但是不优雅。
[url]http://topic.csdn.net/t/20061011/12/5074664.html[/url]

希望能有更好的解决方法。
[b]问题补充:[/b]
[quote]forward的结果页面的字符集改成 gb2312或gbk,其它的仍为utf-8就行了[/quote]
是的,我这样子之后,得确是可以了。。很是奇怪。。。
[b]问题补充:[/b]
[quote]他的方法不觉得有什么别扭的.就用他的[/quote]

这个原理是什么呢?我很是别扭。。我找不出这个理由啊。
[b]问题补充:[/b]
[quote]它觉得不舒服.想要你换一个新鲜点的编码:) [/quote]

哈哈。。奇了怪了啊。。。。不知道兄弟一般怎么复用action的?

比如这个问答频道,它右边的显示都是一样的,怎么减少代码量呢?
[b]问题补充:[/b]
在struts2中,可直接使用s:action来做。。。但我现在还是struts1。。。。。郁闷啊

struts1也有action链的

编码不一致导致的.你页面的编码以及tomcat server.xml的编码和数据库的编码已经数据库jdbc的编码struts的编码都要统一才可以解决问题.

乱码排除你先要看一下是在哪一个环节出来的乱码
是添加数据就乱码了.还是添加时是正确的,到了数据库里面就是乱了

还是说在数据库中是正确的,读取出来就是乱码了.

还是说在action的处理过程中乱码了.或者说是到了现实的页面中就乱码了.

http://hi.baidu.com/kaka888/blog/item/c850803515e5671590ef390b.html
http://blog.csdn.net/Morecans/archive/2007/07/15/1691860.aspx
http://topic.csdn.net/u/20071008/12/ad540f89-85b3-4ff7-8b7f-2855164a2cb2.html
http://hi.baidu.com/mapleelf/blog/category/%D7%D6%B7%FB%B1%E0%C2%EB%2C%CE%C4%D6%D0%C2%D2%C2%EB%BD%E2%BE%F6
http://blog.csdn.net/javagarden/archive/2008/05/26/2482399.aspx
http://www.blogjava.net/Good-Game/archive/2008/12/22/247757.html
http://group.qqread.com/thread-39261-1-1.html
http://www.blogjava.net/richardeee/archive/2007/01/23/Chinese_encoding_problem_for_all.html
http://www.blogjava.net/richardeee/archive/2007/01/23/Chinese_encoding_problem_for_all.html
http://group.qqread.com/thread-39261-1-1.html
http://blog.csdn.net/javagarden/archive/2008/05/26/2482399.aspx
http://hi.baidu.com/mapleelf/blog/category/%D7%D6%B7%FB%B1%E0%C2%EB%2C%CE%C4%D6%D0%C2%D2%C2%EB%BD%E2%BE%F6
http://topic.csdn.net/u/20071008/12/ad540f89-85b3-4ff7-8b7f-2855164a2cb2.html
http://blog.csdn.net/Morecans/archive/2007/07/15/1691860.aspx
http://hi.baidu.com/kaka888/blog/item/c850803515e5671590ef390b.html

这里都是一些乱码的相关书签,都是我收藏的

全部用 utf 8 就不会有什么问题,工作这么多年都是这么做。在工作中,要求所有人的开发工具的编码调整到 uft8 ,不调整的泱及整个项目的,扣工资。

在你的ActionForm中重写reset方法,在其中进行编码设定如:request.setCharacterEncoding("utf-8");
[color=red]设置的编码和发送请求的页面的编码必须一致[/color]

页面中的编码:
<%@page pageEncoding="UTF-8"%>

UTF-8是支持多国语言的,防止乱码。
只是支持单一国的语言的编码,当出现别国的,比如说日文韩文等就会出现乱码

这种行不通,你就不要用include撒.你引用action无非就是想执行这个action

你为何不先把action执行完了再跳转到这个页面来呢?这样做好像正统一些

这样看来是你include的编码和你当前页的编码不统一导致的.你在include的action里面设置一下response.setCharacterEncoding("UTF-8");看看

[quote]forward的结果页面的字符集改成 gb2312或gbk,其它的仍为utf-8就行了[/quote]
????

utf-8 和 UTF-8两个都会产生乱码的大小写也要统一

他的方法不觉得有什么别扭的.就用他的

它觉得不舒服.想要你换一个新鲜点的编码:)

有两种方式

一种是用Action链.你可以去找下资料

一种就是在页面用框架集

不过这个提问的不是用框架集的.我看了下源码