我在我的計算機上有一個文件,我想用PHP複製到MySQL表中。當我打開文件時,內容看起來很好,就像普通文本一樣 - 但是,當我嘗試使用PHP讀取文件或插入MySQL表格時,我會遇到各種各樣的時髦字符。我想也許這是一個UTF-8的問題,所以我嘗試設置頭字符編碼問題和PHP - 這是什麼編碼?
header('Content-type: text/html; charset=utf-8');
然後呼應的file_get_contents()檢索到的內容,但沒有任何區別 - 輸出仍然是時髦的。然後我想也許這是一個CP1252問題,所以我嘗試使用ヶ輛(),但也沒有幫助:
htmlentities($str, ENT_QUOTES, 'cp1252')
我再上傳文件到網站(here)。在服務器上,當我'抓住'文件時,它再次看起來很正常,但在Firefox中,當我打開它時,我得到了時髦的字符。下面是它看起來像我的截圖:screenshot
奇怪的是我複製完全相同的文件到另一個網站的文件夾,在同一臺服務器上,可是當我打開這個文件,在新的URL(見here)相同的文件在Firefox中看起來不同 - 仍然是一些時髦的角色,但更少。不同外觀的屏幕截圖:screenshot
有沒有人知道這裏發生了什麼,以及我如何清理角色?該文件使用什麼字符編碼 - 爲什麼當從服務器上的一個網站複製到另一個網站時,同一文件在Firefox中看起來有所不同?
謝謝。奇怪的是,似乎第二個URL在Firefox中以UTF-16自動打開,而第一個URL以UTF-8自動打開。這說明截圖之間的差異。我想知道爲什麼會這樣? – Tristan 2010-09-11 07:46:30