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使HTML标签自动补全闭合函数代码
Oct 04 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
php中Array2xml类实现数组转化成XML实例
Dec 08 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 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获取QQ达人QQ信息的方法
2015/03/05 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
JS验证input输入框(字母,数字,符号,中文)
2017/03/23 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
Django跨域请求原理及实现代码
2020/11/14 Python
ddl,dml和dcl的含义
2016/05/08 面试题
幼儿园教师备课制度
2014/01/12 职场文书
设备售后服务承诺书
2014/05/30 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
在职证明范本
2015/06/15 职场文书
圣诞晚会主持词
2015/07/01 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
分析Netty直接内存原理及应用
2021/06/14 Java/Android
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis