问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php、ajax编码问题,急!在线等。。。

发布网友 发布时间:2022-05-19 20:16

我来回答

4个回答

懂视网 时间:2022-05-20 00:37

由于ajax在跨域的访问上有问题,目前最好的方法是做代理.写了个代理程序和心得
为了做ajax的代理,研究了下服务器端的xmlhttp并和客户端的ajax中的xmlhttp做了个比较,后台代码是asp的
服务器端的xmlhttp也就是asp小偷程序,我把代码改成了javascript.
1.在服务器端的xmlhttp.Open("GET",url,false)异步必须是关闭的,而客户端的异步是打开的,这个很好理解.
2.在服务器端的xmlhttp.Responsebody 这里用的是Responsebody而不是ResponseText或ResponseXml,一开始我是用ResponseText,但在函数

bytesToBSTR转换编码的时候提示错误,经过比较发现其他的asp小偷程序里的代码都是Responsebody,分析后,发现body返回来的是二进制数据而

不是像ResponseText或ResponseXml那样返回字符或dom对象.
ajax的asp代理函数介绍
send_request(url) ,url为地址 
服务器端代码如下带自动判断所有字符编码,已测试 日语 韩语 繁体
代码如下:
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>XMLHTTP</title>
</head>
<% 
Server.ScriptTimeout=9999999;
function send_request(url) {
    var codedtext;
    http_request = Server.CreateObject("Microsoft.XMLHTTP");
    http_request.Open("GET",url,false);
    http_request.Send(null);
    if (http_request.ReadyState == 4){
        //自动判断编码开始
        var charresult = http_request.ResponseText.match(/CharSet=(S+)">/i);
        if (charresult != null){
        var Cset = charresult[1];
        }else{Cset = "gb2312"}//对获取不到的网站采用gb2312编码,可自行更改

//自动判断编码结束
        codedtext = bytesToBSTR(http_request.Responsebody,Cset);
        }else{
        codedtext = "Erro";
        }
    return(codedtext);
}

function bytesToBSTR(body,Cset){
var objstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Type = 1;
objstream.Mode = 3;
objstream.Open();
objstream.Write(body);
objstream.Position = 0;
objstream.Type = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
objstream.Close;
return(bytesToBSTR);
}

%>
<body>
<% Response.Write(send_request("http://www.daum.net")) %>
</body>
</html>

热心网友 时间:2022-05-19 21:45

可以把两个浏览器的页面编码都换成utf8,好像默认编码IE是GB2312,ff是utf-8

热心网友 时间:2022-05-19 23:03

乱码有这么几种情况

1.文件保存的格式

2.META标签中的charset设置

3.UTF8, UTF8+ 的区别

4.mysql_query("SET NAMES 与页面相同的编码");

请检查上面的问题,一般ajax在传值的时候要用encodeURI对字符串进行编码

比如

jquery.get('ajax.php?wd=' + encodeURI("一二三四"), {}, ....);

热心网友 时间:2022-05-20 00:38

你先看看是不是文件的编码的问题?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
上海大学建筑系录取分数线是多少? 上海大学09年法硕考试录取分数线是多少? 什么品牌的男生卸妆产品值得入手? 求下图的剪力方程和弯矩方程,作剪力图和弯矩图,并求最大弯矩。求... 德州哪个县区最富 搜狗输入栏不能显示是为什么? 石璜镇历史演变 ...突突的声音,排气管还冒黑烟,有时走也是走走停停的, 我手机型号步步高V206的,手机的内存U盘显示以满但我查看了手机,手机里 ... 步步高v206,我想下载手机英语,希望各位指点指点,哪里有下载,下载后具体... 现在挑选电视看的都是哪些特殊的功能? 找青春校园小说封面图片素材不要带字的 电视的本质及功能 关于电视机的网络功能 图文电视的功能 关于电视1080p的功能和优势 关于数字电视的功能 关于电视机的功能对比 电视的功能 网络电视的功能 关于电视的小功能 我是一名美术生。我想了解一下广告设计和建筑设计,广告设计需要学编程吗?建筑设计需要数学很好很好嘛? 美术生 大学是广告学专业 考研的话 考什么专业比较好呢 我是高三毕业美术生,想问设计类专业有哪些就业前景还不错的?特别是 我是一名高三生,很想学广告类专业,我本人比较中意广告设计专业,但我不是美术特长生,请各位给支个招吧 我是美术生,请问广告设计与制作跟学前教育哪个就业好。哪个更实在 糯米醋的做法 广告牌设计属于美术生的就业范围吗 广告设计与美术基础有多大的联系`是不是没有美术基础就读不了广告设计`? 市面上哪几种醋是糯米醋 2022年事业单位工资套改还分06年之前转干和之后转干的标准不一样吗? 事业单位抚恤金2022年最新标准是什么 帮忙去个组名,跪求啊~高校课堂的小组组名,最好是四字的,好的有加分啊!! 学习小组活泼组名 求解 建筑工地意外险属于什么费用 施工企业为从事危险作业的建筑安装施工人员支付的意外伤害保险费属于 施工企业为职工缴纳危险作业意外伤害保险发生的费用应计入 建筑业意外伤害保险应计入什么会计科目 摩尔庄园全部人物的图片 赛尔号中,像螳螂的精灵在那?有它的人发图看看 这个小男孩看起来怎么样? 赛尔号稀有精灵介绍 神性是什么? 仙剑5外传幻木小径存在bug? 我老公有时候晚上跑马是什么原因 男人跑马是什么原因 男人为什么会跑马? 为什么男人累了半夜会跑马? 为什么男人跑马都是在晚上??? 已婚男人晚上跑马是怎么回事