UML软件工程组织

webwork2在weblogic下和tomcat下的中文问题解决
craigavon 转贴
  中文这方面webwork2比struts更容易解决 不用设置fitler过滤了不错当然webwork比strust的优势不只是这些

jsp里都设置gb2312就可以第一

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">

有人说不能加,加了反而乱码,我就没问题第二

在webwork.properties里加上webwork.locale=zh_CNwebwork.i18n.encoding = GB2312

上面做完之后就OK了 页面传值,数据库插入读出都OK了

不过还有需要解决的地方 用过struts的都知道<bean:message>是乱码的webwork也一样,当然这是java程序读文本文件里的中文就是乱码的 解决方法我以前知道的是用native2ascii来转换资源文件,不过转后在编辑就不认识了,修改依次转依次麻烦啊所以我还是选择修改webwork textTag的源码 ,很简单的找到TextTag.java 然后找到下面这段

if(msg != null) {
try{
msg = new String(msg.getBytes("iso-8859-1"));//加入这行就OK了,这样会影响到国际化,(可以判断如果不是zh_CN就不执行转码,我还没试过)
if(getId() == null)
{
pageContext.getOut().write(msg);
} else {
stack.getContext().put(getId(), msg);
}
} catch(IOException e) {
throw new JspException(e);
}
}

struts里也可以这么做的

这样就不用在对资源文件进行native2ascii了第三,还有会乱码的地方就是fileupload 上传中文名的文件会遇到文件名乱码问题,解决方法试在webwork.properties设置一下:

webwork.multipart.parser=pell //不要用cos

tomcat下中文解决方式和上面相同,不过还需要多加一个URIEncoding="GBK"位置在server.xml里解决url里有中文出现的乱码

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="80" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" URIEncoding="GBK"/>

 

 

版权所有:UML软件工程组织