欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php乱码原因分析

程序员文章站 2022-04-08 13:01:25
  结构: index.html--->ajax.js dispatch.php---->addclassify.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,保存即可。

php乱码原因分析

   测试下:

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

 

 

1.    <?php 

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

3.    ?> 

  运行结果:

php乱码原因分析

ok好了

 

摘自 shyandsy的无边海洋