请教如何处理struts的中文问题

04-05-26 huangld
在ApplicationResources.properties中写了一个中文字段“button.save=保存”,并使用了native2ascii对该文件做了转换,但是还是表现出乱码,请问如何解决?

如果从数据库里取出的中文在页面上显示的乱码,这又如何解决?

谢谢先!!

huangld
2004-05-28 09:51
怎么没人回答这个问题啊,banq,救命啊

furarmy
2004-05-28 11:40
把一切应该注意转码的地方都完善了,应该没问题吧,活活

页面的meta,jsp头上那块,从请求中取数据转码。tomcat不要用4.1.x吧,记得有一个版本有汉字问题:)

banq
2004-05-28 12:27
>从数据库里取出的中文在页面上显示的乱码

统一代码,我是统一成UTF-8代码,浏览器输入数据经过过滤,数据库写入方式指定UTF-8 ,我在“Java实开指南”的Jive处理方式适合大多数J2EE系统,包括EJB,我至今没为这个问题再困扰过,windows下开发调试运行,linux下部署正式运行。

banq
2004-05-28 12:31
我发现这样统一编码后,与具体容器如tomcat 或Jboss设置无关,不必去设置这些服务器了。

huangld
2004-05-29 09:33
谢谢banq,我看了你写的书。我也把我的jsp和java类都改成了utf-8,但还是乱码,是不是和struts本身有关,还是还要修改其他的地方。有的人建议修改struts包中的propertymessage.java类。我改了之后也没用,不知如何是好。

seaman0916
2004-05-29 11:20
我刚买了书,研究研究再说......

hitchcock
2004-05-31 10:31
写一个servlet类覆盖服务器上的servlet类,问题就可以解决,本人已经实验通过.

public class myActionServlet extends ActionServlet {

public myActionServlet() {

}

protected void process(HttpServletRequest parm1, HttpServletResponse parm2)

throws java.io.IOException, javax.servlet.ServletException {

/**@todo Override this org.apache.struts.action.ActionServlet method*/

parm1.setCharacterEncoding ("GB2312") ;

super.process(parm1, parm2);

}

}

你试一下先

猜你喜欢