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的正则处理函数总结分析
Jun 20 PHP
PHP初学者常见问题集合 修正版(21问答)
Mar 23 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
php文件上传的简单实例
Oct 19 PHP
php简单socket服务器客户端代码实例
May 18 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 PHP
深入理解PHP类的自动载入机制
Sep 16 PHP
PHP 的Opcache加速的使用方法
Dec 29 PHP
PHP 计算两个时间段之间交集的天数示例
Oct 24 PHP
PHP中用Trait封装单例模式的实现
Dec 18 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
PHP中的日期处理方法集锦
2007/01/02 PHP
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
PHP 源代码压缩小工具
2009/12/22 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
vue+Element中table表格实现可编辑(select下拉框)
2020/05/21 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
Python抓取百度查询结果的方法
2015/07/08 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
python 日志 logging模块详细解析
2020/03/31 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
违反学校规定检讨书
2014/01/18 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
政风行风整改方案
2014/10/25 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS