結構:
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.
2. echo "神經啊揮灑薩哈斯啊三啊撒是";
3. ?>
運行結果:
OK好了
摘自 shyandsy的無邊海洋
http://www.bkjia.com/PHPjc/478483.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478483.htmlTechArticle結構: index.html---ajax.js dispatch.php----addclassify.php-----database.php 開啟index.html後,頁面顯示正常,中英文均OK。點擊添加,ajax.js發送請求到dis...