請問各位大大~
小女子在將網站轉成utf-8時遇到一個問題
就是用網址傳送中文參數的時候
導到下一頁去echo出來都會變成亂碼
ex:
http://www.test/test.php?test=進階問題
下一頁:
echo $test; ==>變成亂碼
請問這要怎麼解決呢?
謝謝~~
php版本4.3.9
2005-12-28 10:34:19 · 2 個解答 · 發問者 Carol 1 in 電腦與網際網路 ➔ 程式設計
兩頁都是charset=utf-8
資料庫顯示都沒問題
httpd.config裡面
HTTP Headers Information:Content-Type= text/html
2005-12-28 11:25:26 · update #1
出來的亂碼是 ?i???݃D
2005-12-28 11:45:43 · update #2
改成大寫UTF-8還是一樣的亂碼字...
到底是為什麼啊@@~
2005-12-28 11:47:17 · update #3
主機是unix~不是windows
找不太到那個dll@@
如果是unix要改哪裡呢?
2005-12-28 12:16:47 · update #4
安裝mbstring的套件後可以使用了!
也解決了問題~
謝謝!
2005-12-28 13:03:49 · update #5
試試看用大寫!
2005-12-28 16:36:56 補充:
是怎樣的亂碼可貼上來看看!
2005-12-28 16:37:25 補充:
是不是?i???݃D
2005-12-28 16:38:53 補充:
還是é²éåé¡
2005-12-28 16:57:11 補充:
您一定送出的網頁的編碼有問題!「進階問題」會出現?i???݃D 代表是BIG5卻在UTF-8下顯示所得的結果!試試看用mb_convert_encoding(),把BIG5改成UTF-8,echo mb_convert_encoding($test,"UTF-8","BIG5");不過要先在php.ini中,將下一行前的分號拿掉!extension=php_mbstring.dll
2005-12-28 11:57:11 · answer #1 · answered by 流浪玩家 6 · 0⤊ 0⤋
下一頁的CHARSET也是UTF8嗎?
顯示頁也必須用UTF8才會正確顯示
補充
整理一次全部的編碼
1.輸入頁面是UTF8,所以它傳出的文字也會是UTF8
2.顯示頁面是UTF8,所以文字從1傳到2之間並不需要轉換
請檢查中間有沒有不必要的轉換手續
補充
我想mb_convert是不需要的
不過假如執意使用
你得確認你安裝php的時候有把mb_convert的模組安裝進去
unix應該可以在php.ini或是 php/extensions.ini裡
加入 extension=mbstring.so
2005-12-28 11:12:53 · answer #2 · answered by 魚兒來 6 · 0⤊ 0⤋