php_xmlhttp 乱码问题解决方法
2015-01-24信息快讯网
近来测试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有没最新的版本,是不是能支持的更好一些。
.htaccess文件保护实例讲解
用PHP读取和编写XML DOM的实现代码
重新封装zend_soap实现http连接安全认证的php代码
php simplexmlElement操作xml的命名空间实现代码
PHP读取XML值的代码(推荐)
PHP中simplexml_load_string函数使用说明
php xml 入门学习资料
smarty中先strip_tags过滤html标签后truncate截取文章运用
php正则过滤html标签、空格、换行符的代码(附说明)
php中去除所有js,html,css代码
php下通过伪造http头破解防盗链的代码
PHP为表单获取的URL 地址预设 http 字符串函数代码
php抓取https的内容的代码
PHP调用Twitter的RSS的实现代码
PHP 数组学习排序全接触第1/2页
PHP 生成的XML以FLASH获取为乱码终极解决
php 过滤危险html代码
PHP HTML代码串 截取实现代码
php 正则 过滤html 的超链接
PHP XML备份Mysql数据库
php 无限级 SelectTree 类
对squid中refresh_pattern的一些理解和建议
php xml实例 留言本
php xml文件操作实现代码(二)
php xml文件操作代码(一)
php Http_Template_IT类库进行模板替换
php auth_http类库进行身份效验
php下HTTP Response中的Chunked编码实现方法