首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • asp中,ajax乱码的问题 [已结贴,结贴人:raul_qu]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • raul_qu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-04-28 11:11:15 楼主
    前台编码gb2312,后台编码gb2312,后台编码不能更改,得到的数据是乱码,怎么解决呢?
    JScript code
    <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script type="text/javascript"> var xmlHttp; if(window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); else if(window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); if(xmlHttp) { xmlHttp.open("GET","http://news.sina.com.cn/iframe/weather/620101.html",true); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); } function callback(){ if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { document.getElementById("tqyb").innerHTML = xmlHttp.responseText; } } </script> </head> <body> <div id="tqyb"></div> </body>
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hu_bird
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-28 16:10:561楼 得分:2
    后台加上这个呢
    Response.ContentType = "text/html"
    Response.Charset = "GB2312"
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cscom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-28 16:17:132楼 得分:2
    if(xmlHttp)
        {
            xmlHttp.open("GET","http://news.sina.com.cn/iframe/weather/620101.html",true);
            xmlHttp.onreadystatechange = callback;
            xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xmlHttp.send(null);
        }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhanghuacheng
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-28 20:26:413楼 得分:2

    xmlHttp.onreadystatechange = callback;
    http_request.open('POST', "http://news.sina.com.cn/iframe/weather/620101.html", true);
    http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
    http_request.send(""); 

    ......................
        function callback(){
            if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
            {
                document.getElementById("tqyb").innerHTML = unescape(xmlHttp.responseText);
            }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mh_rock
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-28 21:15:564楼 得分:2
    解决乱码问题,设置返回内容的类型,以及编码
    Response.ContentType = "text/xml"
    Response.CharSet = "GB2312"
    网页前台head加上

    <META http-equiv="Content-Type" content="text/html; charset=gb2312">
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • orange_morning
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 09:59:275楼 得分:2
    加上 <META http-equiv="Content-Type" content="text/html; charset=gb2312">试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bhtfg538
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 10:09:556楼 得分:2
    Response.Charset = "GB2312"
    只要这一句
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • loveguang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 11:13:157楼 得分:2
    引用 6 楼 bhtfg538 的回复:
    Response.Charset = "GB2312" 
    只要这一句


    就是。把这句写在与数据库交互的页面里。

    就可以了。

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wl7226089
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 11:27:068楼 得分:2
    <script type="text/javascript" charset="GB2312">js中加上字符集再看看呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • bhtfg538
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 11:36:479楼 得分:0
    还有不一定是GB2312 你是获取QQ的你去看看他页面的 设置是不是GB2312 一般大型第二设置都是UTF-8
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qwwe1171
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 11:45:1610楼 得分:2
    我曾经用ajax时就经常遇到这样的问题 哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Ggy2008
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-29 12:10:5311楼 得分:1
    使用UTF-8 好一点,记得保存的时候也要选择编码哦 ~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • knowledge_Is_Life
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-04-30 16:00:4412楼 得分:1
    有点难度哦
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • raul_qu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-09 13:51:5613楼 得分:0
    为什么看不到回复?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • raul_qu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-09 14:23:2814楼 得分:0
    这回看到了,各位大侠的我基本都已经试过了,我想主要原因是后台是GB2312,ajax请求返回使用的却是utf-8,这里导致了乱码,只要将ajax返回的数据转成utf-8就可以了,但是javascript中没有好用的转换方法,最后我用vbscript才解决了这个问题。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • raul_qu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-09 14:24:2315楼 得分:0
    我现在把正确的代码帖出来,大家看一下。
    HTML code
    <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script type="text/vbscript"> Function bytes2BSTR(vIn) Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode 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> <script type="text/javascript" charset="GB2312"> var xmlHttp; if(window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); else if(window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); if(xmlHttp) { xmlHttp.open("GET","http://news.sina.com.cn/iframe/weather/620101.html",true); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); } function callback(){ if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { alert(bytes2BSTR(xmlHttp.responseBody)); document.getElementById("tqyb").innerHTML =bytes2BSTR(xmlHttp.responseBody); } } </script> </head> <body> <div id="tqyb"></div> </body>
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved