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 相关文章推荐
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
PHP 数字左侧自动补0
Mar 31 PHP
php下intval()和(int)转换使用与区别
Jul 18 PHP
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
PHP安全性漫谈
Jun 28 PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 PHP
Laravel5中contracts详解
Mar 02 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
PHP 裁剪图片
Mar 09 PHP
php去除数组中为0的元素的实例分析
Nov 17 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
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
PHP设计模式之原型设计模式原理与用法分析
2018/04/25 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
js实现下一页页码效果
2017/03/07 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
jQuery弹框插件使用方法详解
2020/05/26 jQuery
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
python设置环境变量的作用和实例
2019/07/09 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
python str字符串转uuid实例
2020/03/03 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
如何利用Python 进行边缘检测
2020/10/14 Python
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
工作说明书范文
2014/05/07 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js