php_xmlhttp 乱码问题解决方法

 更新时间:2009年08月07日 00:48:06   作者:  
近来测试php_xmlhttp乱码问题,无他,仅是不想用那些乱七八糟的框架耳,或者高兴了,组织一组也不一定。
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 万年历实现代码

    php中实现万年历效果代码,需要的朋友可以参考下
    2012-10-10
  • php防止伪造的数据从URL提交方法

    php防止伪造的数据从URL提交方法

    这篇文章主要介绍了php防止伪造的数据从URL提交方法,需要的朋友可以参考下
    2014-06-06
  • php判断并删除空目录及空子目录的方法

    php判断并删除空目录及空子目录的方法

    这篇文章主要介绍了php判断并删除空目录及空子目录的方法,可实现遍历目标文件夹判断是否为空及删除空目录的功能,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • goto语法在PHP中的使用教程

    goto语法在PHP中的使用教程

    这篇文章主要给大家介绍了关于goto语法在PHP中的使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • php记录日志的实现代码

    php记录日志的实现代码

    php记录日志的实现代码,主要分为几种模式,需要的朋友可以参考下。
    2011-08-08
  • flash+php+mysql打造简单留言本教程

    flash+php+mysql打造简单留言本教程

    刚开始做这个留言本的时候,连mysql和php都没接触过。经过痛苦的查找资料和学习,郁闷了一个星期后完成了我的简单留言本
    2008-07-07
  • 简单了解将WordPress中的工具栏移到底部的小技巧

    简单了解将WordPress中的工具栏移到底部的小技巧

    这篇文章主要介绍了将WordPress中的工具栏移到底部的小技巧,随着新版的Chrome和WordPress的发布,文中最后提到的显示问题也应当能够得到解决,需要的朋友可以参考下
    2015-12-12
  • PHP实现微信公众号企业号自定义菜单接口示例

    PHP实现微信公众号企业号自定义菜单接口示例

    这篇文章主要介绍了PHP实现微信公众号企业号自定义菜单接口,结合实例形式分析了php自定义微信菜单类及微信接口相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • Excel数据导入Mysql数据库的实现代码

    Excel数据导入Mysql数据库的实现代码

    当配置好PHP运行环境后,接下来我就开始准备数据源了,记得上次没有讲述Navicat的安装方法,很简单,没有什么特别的,一路Next就完毕了。
    2008-06-06
  • php文件系统处理方法小结

    php文件系统处理方法小结

    这篇文章主要介绍了php文件系统处理方法,总结分析了php常用的文件操作函数功能与具体使用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-05-05

最新评论