CNET中国旗舰网站

ZDNet China | CNET科技资讯网 | 政府采购 | 行业网站联盟





 
标题: [转贴] 返回XML解析问题?中文就出错?
mz89757053
版主
Rank: 7Rank: 7Rank: 7


UID 304999
精华 0
积分 6933
帖子 8295
威望 116
ZD币 1002 元
阅读权限 250
注册 2008-3-10
状态 离线
  楼主
发表于 2008-3-18 13:53  资料  个人空间  短消息  加为好友 
开发者在线

返回XML解析问题?中文就出错?

我在servlet里构造了一个xml   
  即String   xml_start="<selects>";   
      String   xml_end="</selects>";   
      String   xml   =   "<select><value>1</value><text>你好</text></select>";   
      String   last_xml   =   xml_satrt   +   xml   +   xml_end;   
      response.getWriter().write(last_xml);   
         
  我用的是GBK编码   
   
  我是这样接受的   
      var   xmlDoc=req.responseXML.documentElement;   
                          var   xSel=xmlDoc.getElementsByTagName('select');   
                          var   select_root=document.getElementById('skill');   
                          select_root.options.length=0;   
                          
   
                          for(var   i=0;i<xSel.length;i++)   
                          {   
                                  var   xValue=xSel.childNodes[0].firstChild.nodeValue;   
                                  var   xText=xSel.childNodes[1].firstChild.nodeValue;   
                                    
                                  var   option=new   Option(xText,xValue);   
                                  try{   
                                          select_root.add(option);   
                                  }catch(e){   
                                  }   
                          }   
   
  就是不可以,是乱吗   改成UTF-8就好了!   
  我用GBK的时候,xml传过来没问题的,是英文就可以,有中文就报错.UTF-8什么都没题   
  怎么解决编码格式是GBK出现乱码的问题?求救!!!!




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
mz89757053
版主
Rank: 7Rank: 7Rank: 7


UID 304999
精华 0
积分 6933
帖子 8295
威望 116
ZD币 1002 元
阅读权限 250
注册 2008-3-10
状态 离线
  沙发
发表于 2008-3-18 13:54  资料  个人空间  短消息  加为好友 
<script   language="VBScript">   
  Function   bytes2BSTR(vIn)   
          strReturn   =   ""   
          For   i   =   1   To   LenB(vIn)   
                  ThisCharCode   =   AscB(MidB(vIn,i,1))   
                  If   ThisCharCode   <   &H80   Then   
                          strReturn   =   strReturn   &   Chr(ThisCharCode)   
                  Else   
                          NextCharCode   =   AscB(MidB(vIn,i+1,1))   
                          strReturn   =   strReturn   &   Chr(CLng(ThisCharCode)   *   &H100   +   CInt(NextCharCode))   
                          i   =   i   +   1   
                  End   If   
          Next   
          bytes2BSTR   =   strReturn   
  End   Function   
  </script>   
  用这个函数




顶部
热点频道推荐: C/S开发| 数据库| WEB开发| 嵌入式| 项目管理|
 



当前时区 GMT+8, 现在时间是 2009-7-5 04:02

  Powered by Discuz! 5.5.0 © 2001-2007 Comsenz Inc.
Processed in 0.062834 second(s), 3/3 queries

清除 Cookies - 联系我们 - ZDNetChina中文社区 - 无图版