当前位置:编程学习 > php >>

php乱码原因分析

 

结构:

index.html--->ajax.js

dispatch.php---->addclassify.php----->database.php

 

打开index.html后,页面显示正常,中英文均OK。点击添加,ajax.js发送请求到dispatch,dispatch根据请求功能码分发到addclassify,该文件负责添加,会用到database.php中的函数,然后addclassify用echo返回结果。添加成功返回ok,添加失败返回错误原因。

 

奇怪的事情出现了,ajax返回回来的总是乱码。

 

以前乱码是因为通信编码不一致问题。但是现在我的index.heml是utf-8,ajax是utf-8,php.ini默认字符集也是utf8。

之前有一个html和php也是这种架构,但那两个程序就运行正常。

 

一觉睡醒,想到了另一种可能。这个dispatch.php在服务器上存放的时候就是乱码。

ssh连上去,vim一看,我x你妈,html文件都正常,所有php文件里面汉字都是乱码。

 

我是在windows下面用zend stuio写php,dreamweaver写html。那么就是说dreamweaver会把网页存放成utf8,zend stuidio则不会,因为zend studio编写的php文件保存为ANSI,所以上传服务器后中文乱码。

 

临时解决方案:把所有zend写的php文件,用记事本打开,另存时选择utf-8。OK了。

终极解决方案:修改zend studio设置。我用的是zend studio 9,可能不同版本该设置选项位置不同,读者自己找。

  工具栏:project-----> properties   在这个窗口里看到Resource,将text file encoding修改成UTF-8,保存即可。

\

   测试下:

       项目中新建文件1.php,随便输入如下代码

 

 

1.    <?php 

2.    echo "神经啊挥洒萨哈斯啊三啊撒是"; 

3.    ?> 

  运行结果:

\

OK好了

 

摘自 shyandsy的无边海洋

补充:Web开发 , php ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,