我繼承了我需要進一步開發的Web系統。 該系統似乎是由閱讀2章PHP教程的人創建的,並認爲他可以編碼...如何將mysql latin1轉換爲utf8
因此...網頁本身是UTF8,並顯示並輸入所有內容。數據庫表已使用UTF8字符集創建。但是,在配置中,有「SET NAMES LATIN1」。換句話說,UTF8編碼的字符串通過強制latin1編碼填充到數據庫中。
有沒有辦法將這個混亂轉換爲實際存儲在utf8中並擺脫latin1? 我試過這個:http://alexking.org/blog/2008/03/06/mysql-latin1-utf8-conversion但由於數據庫表設置爲utf8,這是行不通的。也試過這一個https://www.percona.com/blog/2007/12/18/fixing-column-encoding-mess-in-mysql/沒有成功。
我也許能夠通過讀取latin1編碼的PHP中的所有表格,然後將它們寫回到utf8中的新數據庫,但如果可能的話我想避免它。
該數據庫包含許多匈牙利字符串,其中包含無法用latin1表示的重音符號。該頁面與SET NAMES latin1一起使用,如果將其更改爲SET NAMES utf8,則會產生混亂。 我需要導入一個包含匈牙利每個城市名稱的新表格。它是在適當的UTF8,所以如果我作爲拉丁1訪問數據庫它會搞砸了。因此,我要麼將當前的數據庫轉換爲正確的UTF8,要麼將城市列表轉換爲強制的latin1。我更喜歡前者。 – Moha