[color=darkblue]第一个****************************[/color]
同样的程序,一个部署在linux上,另一个部署在windows server2003上。
页面上有一处显示中文的地方,访问windows的时候出现乱码。
这个中文字符我不是通过Action里面的变量传到页面的,我是在Action里面变成byte[],然后通过inputStream,用ajax拿到页面的,但是出现乱码。
对比两个环境,出问题的地方只有可能在生成byte[]环节,因为通过Action变量传到页面的中文都没问题。在getbytes方法里放入utf-8的Charset,重新布置,就能解决问题。
小问题,小问题。
[color=darkblue]第二个******************************[/color]
换了个环境flash就不能正确显示中文了
首先简单介绍下我的flash,我的大环境是struts2+spring。
当一个页面加载后,通过dojo的ajax技术从后台取一个xml格式的字符串,然后将该字符串灌入flash。
在linux上都表现不错。但是,今天我想把它放在windows2003 server上。
然后就是装jdk,装tomcat,打包部署,结果启动tomcat后,发现flash不能显示了。跟了一下程序,发现是取回来的xml中的中文字符乱码。
我什么都没改,怎么出这个问题了?
换了个环境就出问题,我第一感觉就是新搭建的环境有问题,先上网找,好像没结果。
后来在firefox上直接调用获取xml字符串的action,发现取来的字符串里,中文不再是utf-8的了。在服务器端,我使用如下代码生成xml字符串
感觉那个setEncoding根本不起作用。
最后,我是在struts.xml文件中
同样的程序,一个部署在linux上,另一个部署在windows server2003上。
页面上有一处显示中文的地方,访问windows的时候出现乱码。
这个中文字符我不是通过Action里面的变量传到页面的,我是在Action里面变成byte[],然后通过inputStream,用ajax拿到页面的,但是出现乱码。
对比两个环境,出问题的地方只有可能在生成byte[]环节,因为通过Action变量传到页面的中文都没问题。在getbytes方法里放入utf-8的Charset,重新布置,就能解决问题。
小问题,小问题。
[color=darkblue]第二个******************************[/color]
换了个环境flash就不能正确显示中文了
首先简单介绍下我的flash,我的大环境是struts2+spring。
当一个页面加载后,通过dojo的ajax技术从后台取一个xml格式的字符串,然后将该字符串灌入flash。
在linux上都表现不错。但是,今天我想把它放在windows2003 server上。
然后就是装jdk,装tomcat,打包部署,结果启动tomcat后,发现flash不能显示了。跟了一下程序,发现是取回来的xml中的中文字符乱码。
我什么都没改,怎么出这个问题了?
换了个环境就出问题,我第一感觉就是新搭建的环境有问题,先上网找,好像没结果。
后来在firefox上直接调用获取xml字符串的action,发现取来的字符串里,中文不再是utf-8的了。在服务器端,我使用如下代码生成xml字符串
XMLOutputter XMLOut = new XMLOutputter();
// 设置格式
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8"); // 设置xml文件的字符为gb2312
XMLOut.setFormat(format);
String xmlData = XMLOut.outputString(rootCate)
感觉那个setEncoding根本不起作用。
最后,我是在struts.xml文件中
<result type="stream">
<param name="contentType">text/html;CHARSET=GBK</param>
<param name="inputName">inputStream</param>
</result>