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 urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
php异步多线程swoole用法实例
Nov 14 PHP
PHP魔术方法__GET、__SET使用实例
Nov 25 PHP
Java和PHP在Web开发方面对比分析
Mar 01 PHP
php筛选不存在的图片资源
Apr 28 PHP
PHP的几个常用加密函数
Feb 03 PHP
基于php编程规范(详解)
Aug 17 PHP
php学习笔记之mb_strstr的基本使用
Feb 03 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
js下函数般调用正则的方法附代码
2008/06/22 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
Jdbc数据访问技术面试题
2012/03/30 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
企业安全生产演讲稿
2014/05/09 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
介绍信的写法
2015/01/31 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
MySQL锁机制
2021/04/05 MySQL