中文乱码的两个问题

[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字符串

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值