php_xmlhttp 乱码问题解决方法


Posted in PHP onAugust 07, 2009

resin在新版本中竟开始支持php了,偶感觉比较好玩,也是懒得在自己机器上再配置一组apache_php_mysql之流,毕竟以java为主做事情的嘛。于是将自己的一个php站点直接放resin里面做开发了,总体感觉还不错,基本功能没发现问题,但在继续优化过程中,想到了xmlhttp,便随手写了几个文件试一下,无刷新效果嘛,可是竟然遇到了中文乱码,于是五一一天就折腾这个了,也在中间从网站看了一些当前地球上的一些争争吵吵的事情,中美对弈,欧则看盘,一会儿顺着这边说,一会顺着那边扯,也有些意思,只是想,中国的80末以后的这些人会长成什么样子,靠吃6、70年代人赚下的本活着,还以享乐为荣,关键是还沾沾自喜,这类人不是传说中的垃圾么?懒得说了,还是看乱码吧
文件有三个,一个是htm,一个是php,一个是js,js用在htm中,php为服务端。
a.htm

<html> 
<head><title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<script language="javascript" src="a.js" charset="utf-8"></script> 
</head> 
<body> 
<span id="show"></span> 
<form name="aForm"> 
<input type="text" name="name"><br> 
<input type="button" name="btn" value="ok" onclick="aa()"> 
</form> 
<script language="javascript"> 
<!-- 
function aa(){ 
var o = new Ajax(); 
o.url = "a.php"; 
o.parseParameters(document.all.aForm); 
o.post(); 
} 
--> 
</script> 
</body> 
</html>

a.js
function getXMLHTTPRequest(){ 
var xmlHttp; 
if(window.ActiveXObject){ 
try{ 
xmlHttp = new ActiveXObject("MSXML2.XMLHTTP"); 
}catch(e){ 
try{ 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
}catch(e){ 
xmlHttp = false; 
} 
} 
}else{ 
try{ 
xmlHttp = new XMLHttpRequest(); 
}catch(e){ 
xmlHttp = false; 
} 
} 
if(!xmlHttp){ 
return false; 
}else{ 
return xmlHttp; 
} 
} 
function Ajax(){ 
this.url; 
this.params = ""; 
this.parseParameters = function(thisform){ 
for(var i = 0; i < thisform.elements.length; i++){ 
var e = thisform.elements[i]; 
this.params += (e.name + "=" + e.value); 
if(i != (thisform.elements.length - 1)) 
this.params += "&"; 
} 
}; 
AjaxObj = getXMLHTTPRequest(); 
AjaxObj.onreadystatechange = processRequest; 
this.post = function(){ 
AjaxObj.open("post", this.url, true); 
AjaxObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=utf-8'); 
if(this.params.length > 0) 
AjaxObj.send(this.params); 
else 
AjaxObj.send(); 
} 
} 
function processRequest(){ 
if(AjaxObj.readyState == 4){ 
if(AjaxObj.status == 200){ 
if(AjaxObj.responseText != ""){ 
document.getElementById("show").innerHTML = ""; 
document.getElementById("show").innerHTML = AjaxObj.responseText; 
} 
}else{ 
alert("Exception."); 
} 
}else{ 
document.getElementById("show").innerHTML="Loading......"; 
} 
}

a.php
<?php 
header("Content-Type:text/html; charset=utf-8"); 
$name = $_POST['name']; 
echo $name; 
?>

全用utf-8编写存储,但死活就是不行,总说有问题,总出来有乱码,一天下来,脑袋晕乎乎滴,中午时候胳膊上绑了3kg沙袋,挥羽毛球拍挥了200,肌肉有点胀的感觉了,嗯,说明有锻炼效果了,过些天等发了薪水再去买一支练习拍,我常用的at700大约90g左右,练习拍在160g左右,应该比较有练习效果吧,不过右胳膊眼见着要比左胳膊粗了,貌似还需要一个大点的杠铃,把左胳膊也练一下才好

吃完晚饭,一怒之下,就把这三文件传一php的服务器上,一试,完全正常,没有乱码,我,我不说了,看来是resin的原因,呆会再找找,看一下Quercus有没最新的版本,是不是能支持的更好一些。

PHP 相关文章推荐
实现dedecms全站URL静态化改造的代码
Mar 29 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
preg_match_all使用心得分享
Jan 31 PHP
php图像处理类实例
Jul 28 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
PHP第三方登录―QQ登录实现方法
Feb 06 PHP
php 如何设置一个严格控制过期时间的session
May 05 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 #PHP
php 全局变量范围分析
Aug 07 #PHP
PHP 多维数组排序实现代码
Aug 05 #PHP
PHP 简单数组排序实现代码
Aug 05 #PHP
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 #PHP
一些 PHP 管理系统程序中的后门
Aug 05 #PHP
黑夜路人出的几道php笔试题
Aug 04 #PHP
You might like
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
js确定对象类型方法
2012/03/30 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
JS跨域问题详解
2014/11/25 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
Python argparse模块应用实例解析
2019/11/15 Python
python如何求100以内的素数
2020/05/27 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
项目经理聘任书
2014/03/29 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
优秀教师事迹材料
2014/12/15 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题