ulysses 寫:
linjacky 寫:
我換用了 WebServerX Kit(Apache 2.52 + MySQL 4.1.8 + PHP5.0.3)
用phpMyAdmin管理MySQL時中文Big5都正常,但用DreamWeaver 2004寫的PHP程式所攫取的資料卻都變成亂碼? 何解?
這就是在下討厭 DreamWeaver 的原因之一;你根本不曉得它做了什麼事。
版面要能正確顯示中文,與其問不知哪邊設定錯誤,還不如問到底要怎樣設定才能正常。從資料庫預設字碼、資料庫連線、資料擷取與存入程序、資料前置與後續處理、輸出程序、板面字碼設定,每個環節都要正確才能正常顯示。這個過程裡至少有上百種可能會造成亂碼現象,錯誤的版面預設語系,錯誤的 Output Buffer 後續處理程序,錯誤的 iconv 轉換字串,錯誤的 HTML entities 轉換,錯誤的 Magic Quote 處理,錯誤的資料庫連線預設語系,還有天曉得是什麼原因。
在下只能給你一個建議,試著把所有東西通通轉成 UTF-8。你寫起程式來也會快樂許多。
我不是很專業的程式員,所以我必須仰賴DreamWeaver的功能再修改她的程式碼以減輕困難,我用了一陣子,所以對於DreamWeaver的程式碼還算熟悉,改他比自己從頭寫容易多了。因為我的目的在開發一個簡單的原型系統以輔助我的論文,所以並不希望花太多時間在程式編寫與最佳化等事情上。我知道一些PHP+MSQL處理中文上的問題,所以我正在嘗試如此,用UTF-8。
我本來用CompleteApache2.52+CompleteMySQL4.0.21+CopmpletePHP4.3.9。但是MySQL4.0.20沒支援UTF-8,用官方版的4.1.10卻嫌PHP4.3.9的MySQL4.1.7函式庫太舊,Password出問題無法用phpMyAdmin連線。改用WebServerX Kit 0.8(Apache2.52+MySQL4.1.9+PHP5.0.3)之後,可以在phpMyAdmin下用UTF8正常處理中文,但它的PHP5竟然沒有編譯mb-string與iconv函式庫,我就不能用他們來解決DreamWeaver2004/Flash2004的中文問題。我也嘗試用過www.entropy.ch的PHP5.0.3,但他只支援OSX10.3Clinet內建的Apache1.3或10.3Server的Apache2,原來的CompleteApache2.52或WebServerX Kit的Apache2抓不到,或是出現一堆錯誤。簡直快要抓狂...
現在正在改用ApacheFriends XAMMP for Mac 1.0beta,在http://www.hotscripts.com/PHP/Software_and_Servers/Installation_Kits/index.html找到的,號稱有Apache2+MySQL4.1+PHP5所有最新模組,更重要的是有mb-string與iconv函式庫,等試過在報告吧。
