锁定老帖子 主题:webwork字符集问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-10-11
Tomcat5.5.9 中server.xml 修改为 <Connector URIEncoding="ISO-8859-1" port="8080"... Filter中的encoding设置为ISO-8859-1 webwork.properties设置为 webwork.locale=zh_CN webwork.i18n.encoding=ISO-8859-1velocity.properties设置为 velocimacro.library = webwork.vm, tigris-macros.vm input.encoding=ISO-8859-1 output.encoding=ISO-8859-1 default.contentType=text/html; charset=ISO-8859-1 使用Eclipse编辑器,Text file encoding设置为 ISO-8859-1,所有JSP文件的Text file encoding为ISO-8859-1 现象: (1)使用displayTag能够正确显示中文, (2)插入数据库数据正确,即能够正常插入数据库汉字 (3)但是使用<ww:text .../>时,总是显示:Öйú¹¤ÉÌÒ&ÐÐÎÚÃË·ÖÐй¤×÷。 经过几天的反复设置,就是解决不了。 在几天的试验中,无论webwork.properties中设置了什么,好像好象一点效果都没有。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-10-11
能设置的地方全部设置成UTF-8
包括Eclipse的项目编码 |
|
返回顶楼 | |
发表时间:2005-10-11
依然是不行呀,我已经按照您的做法改了,仍然没有效果,是不是还有没有设置到的地方
Tomcat设置 <Connector URIEncoding="UTF-8" port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> Filter设置UTF-8 webwork.properties设置为 webwork.locale=zh_CN webwork.i18n.encoding=UTF-8 velocity.properties设置为 velocimacro.library = webwork.vm, tigris-macros.vm input.encoding=UTF-8 output.encoding=UTF-8 default.contentType=text/html; charset=UTF-8 使用Eclipse编辑器,Text file encoding设置为UTF-8,所有JSP文件的Text file encoding为UTF-8 现象同使用ISO-8859-1: (1)使用displayTag能够正确显示中文, (2)插入数据库数据正确,即能够正常插入数据库汉字 (3)但是使用<ww:text .../>时,总是显示:Ä&ÎÒÔÚÐÄÖÐ。 |
|
返回顶楼 | |
发表时间:2005-10-11
资源文件里面不能直接使用汉字,必须用unicode表示的16进制数值。
|
|
返回顶楼 | |
发表时间:2005-10-12
robbin你好,是我描述的不清楚。我现在的主要问题是能够正常将汉字写入数据库,但不能将数据库中的汉字正确显示出来,(资源文件暂还没有考虑),使用
<ww:textfield label="getText('area.caption');" name="'area.caption'" value="area.caption" required="true"/>显示数据库内容出来的永远是:Öйú¹¤ÉÌÒ&ÐÐÎÚÃË·ÖÐй¤×÷ 能够试的都试了,但就是不知道问题出现在什么地方。我已经搞了十几天了。 |
|
返回顶楼 | |
发表时间:2005-10-12
引用 显示数据库内容出来的永远是:Öйú¹¤ÉÌÒ&ÐÐÎÚÃË·ÖÐй¤×÷
是控制台打出来的还是页面显示的?
|
|
返回顶楼 | |
发表时间:2005-10-12
是页面显示出来的乱码
|
|
返回顶楼 | |
发表时间:2005-10-13
在Action中,并通过下面的语句,
name = new String(catalog.getName();.getBytes("ISO-8859-1");, "GBK");; log.debug("catalog name(GBK);:" + name );; 控制台打印的是正确的汉字.页面显示出来的依然是 如果此时进行转码GBK,则页面显示出来的全是????。 而且有几个怪现象: (1)无论Tomcat中server.xml字符集设置什么,页面显示的内容都一样。(2)无论webwork.properties中字符集设置什么,都能将汉字正确写入数据库。 |
|
返回顶楼 | |
发表时间:2005-10-14
大漠孤烟 写道 在Action中,并通过下面的语句,
name = new String(catalog.getName();.getBytes("ISO-8859-1");, "GBK");; log.debug("catalog name(GBK);:" + name );; 控制台打印的是正确的汉字.页面显示出来的依然是 如果此时进行转码GBK,则页面显示出来的全是????。 而且有几个怪现象: (1)无论Tomcat中server.xml字符集设置什么,页面显示的内容都一样。(2)无论webwork.properties中字符集设置什么,都能将汉字正确写入数据库。 感觉是从数据库取得的字符是GBK经由ISO8859-1转的码,就是说存入数据库时的编码是GBK,你将webwork和vilocity的编码都设为GBK试一试。 Tomcat 的 URIEncoding编码设置只有在get方式提交的数据起作用,如果你用post方式提交,不影响提交的数据编码 |
|
返回顶楼 | |
发表时间:2005-10-15
你分别在系统的各个层次设置断点,通过调试来判断问题的根源。
只做这种试验不太容易找到问题呀。 |
|
返回顶楼 | |