论坛首页 Java企业应用论坛

webwork字符集问题

浏览 11771 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-10-11  
数据库(oracle10)字符集:ISO-8859-1
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-1
velocity.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 .../>时,总是显示:&Ouml;&ETH;&sup1;ú&sup1;¤&Eacute;&Igrave;&Ograve;&amp;&ETH;&ETH;&Icirc;&Uacute;&Atilde;&Euml;·&Ouml;&ETH;&ETH;&sup1;¤×÷。
经过几天的反复设置,就是解决不了。
在几天的试验中,无论webwork.properties中设置了什么,好像好象一点效果都没有。
   发表时间:2005-10-11  
能设置的地方全部设置成UTF-8
包括Eclipse的项目编码
0 请登录后投票
   发表时间: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 .../>时,总是显示:&Auml;&amp;&Icirc;&Ograve;&Ocirc;&Uacute;&ETH;&Auml;&Ouml;&ETH;。
0 请登录后投票
   发表时间:2005-10-11  
资源文件里面不能直接使用汉字,必须用unicode表示的16进制数值。
0 请登录后投票
   发表时间:2005-10-12  
robbin你好,是我描述的不清楚。我现在的主要问题是能够正常将汉字写入数据库,但不能将数据库中的汉字正确显示出来,(资源文件暂还没有考虑),使用
<ww:textfield label="getText('area.caption');" name="'area.caption'"
        value="area.caption" required="true"/>
显示数据库内容出来的永远是:&Ouml;&ETH;&sup1;ú&sup1;¤&Eacute;&Igrave;&Ograve;&amp;&ETH;&ETH;&Icirc;&Uacute;&Atilde;&Euml;·&Ouml;&ETH;&ETH;&sup1;¤×÷
能够试的都试了,但就是不知道问题出现在什么地方。我已经搞了十几天了。
0 请登录后投票
   发表时间:2005-10-12  
引用
显示数据库内容出来的永远是:&Ouml;&ETH;&sup1;ú&sup1;¤&Eacute;&Igrave;&Ograve;&&ETH;&ETH;&Icirc;&Uacute;&Atilde;&Euml;·&Ouml;&ETH;&ETH;&sup1;¤×÷
是控制台打出来的还是页面显示的?
0 请登录后投票
   发表时间:2005-10-12  
是页面显示出来的乱码
0 请登录后投票
   发表时间: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中字符集设置什么,都能将汉字正确写入数据库。
0 请登录后投票
   发表时间: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方式提交,不影响提交的数据编码
0 请登录后投票
   发表时间:2005-10-15  
你分别在系统的各个层次设置断点,通过调试来判断问题的根源。
只做这种试验不太容易找到问题呀。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics