日期:2014-05-16  浏览次数:20407 次

Ajax中xmlhttp.responseText乱码问题,用尽了各种办法啊,各位大侠帮忙看看啊
环境MyEclipse 9.0,采用的struts+hibernate+jsp
最开始,不在后台的返回值中添加
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml;charset=UTF-8");
这样在xmlhttp.responseText返回值为

<div key="content">
<dl class="goodItem">
<dt>
<a class="goodsIcon" title="??????" target="_blank" href="appDetail.action?26">
<img width="70" height="70" alt="??????" 
其中的问号就是中文的乱码。
#######################################################################################
后来搜了很多方法说是编码的问题就在action返回之前设置了编码格式,于是返回的值又变成了
<div key="content">
<dl class="goodItem">
<dt>
<a class="goodsIcon" title="自行车自行车" target="_blank" href="appDetail.action?26">
<img width="70" height="70" alt="自行车自行车" src="/SDP/appendix/appicon/icons16.jpg"/></a>
</dt>
<dd class="tit">
<a title="自行车自行车" target="_blank" href="appDetail.action?26">自行车自行车</a>
</dd>
<dd class="cite">
<a title="jay" target="_blank" href="#">jay</a>
</dd>
<dd>
<!--{function,setAverage}-->
<span key="averageMark">
<img src="/SDP/img/star_on.gif"/>
<!-- 中间代码省略-->
<a title="ä¸?è½½å?°æ??æ?º" onclick="mm.module.order.enter('300000059707',1,'24436882')" class="download">
乱码部分本应该是浮点类型的数字
而且这些乱码都分别在ie以及firefox浏览器中看过,还是乱码
#############################################################################################
实在是没办法了,有没有哪位大侠遇到过这样的问题啊




------解决方案--------------------
你试下response.setContentType("text/html;charset=UTF-8");