請問 Ajax編碼問題 [已解決]

小弟剛學 Ajax 有一個很不錯的相簿範例有內建留言功能, 但他是用 javascript 採用 POST方式傳到主機端, 卻發生中文顯示不正確的問題 例如: '我的相簿' 傳送到主機後都變成 我的相簿 (查看 server端儲存內容都變成 &xxx;&xxx;&xxx;... mobile01顯示不出來) 回覆回來的都變成 æçç¸ç°¿ 請問編碼到底什麼問題呢? 我都已經設定成 (UTF-8) 為何還會如此呢? 希望版上熟悉 Ajax的版友能提供協助, 謝謝。

當然如果友更厲害高手願意幫小弟直接將相簿中文問題解決可依下列網址下載 SourceCode, 沒錯只有一支 index.php就可以安裝相簿及照片留言的所有功能,是支很棒的免費網路相簿,不需任何資料褲,只需 PHP5、GD就可以了~~

相簿展示網址:http://gallery.firetree.net/
相簿 SourceCode:http://gallery.firetree.net/exa.tar.gz

再次感謝大家的回應~~~
2009-07-15 4:22 發佈
文章關鍵字 ajax 編碼問題
看來是 htmlentities() 的問題,和 Javascript 部份無關。

這支程式用了 htmlentities() 來處理 input,
這個 function 預設會把中文字元也作轉換,就成了亂碼。

解決方式有兩種:
1. 為 htmlentities() 加上正確的編碼參數。
2. 改用 htmlspecialchars() 取代。

附上修改好的檔案給您參考
lym520 wrote:
看來是 htmlen...(恕刪)


lym520 感謝您, 我花了兩天看程式還看不出所以然, 沒想到你一個函數+編碼方式就解決這個問題, 真是太感謝你了, 雖然沒辦法幫你加分, 但真的感謝你, 受教了~~~
在被ajax呼叫的那支程式中加入試看看

header("Progma: no-cache");
header("Cache-Control: no-cache, must-revalidate");
header("Content-Type: text/html; charset=big5");
九十年代的憂傷 wrote:
在被ajax呼叫的那...(恕刪)


問題已經解決, 但 '九十年代的憂傷' 所提供的意見讓我受教了 謝謝~~
kondou wrote:
問題已經解決, 但 ...(恕刪)


請問你是有什麼方法解決的啊
九十年代的憂傷 wrote:
請問你是有什麼方法解...(恕刪)


這是 lym520所提供的:
這支程式用了 htmlentities() 來處理 input,
這個 function 預設會把中文字元也作轉換,就成了亂碼。

將原本的:
htmlentities(stripslashes( $_POST['cmt_author'] ));
更改成:
htmlentities(stripslashes( $_POST['cmt_author'] ), ENT_COMPAT, 'UTF-8');
就是加上 ENT_COMPAT, 'UTF-8'

因我是用 UTF-8 所以沒有 Big-5的問題



內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?