程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php亂碼原因分析

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的無邊海洋

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved