我正在將大量的mysql數據庫從幾臺共享的網絡主機遷移到一臺共享的網絡主機。將mysql從一臺主機遷移到另一臺主機,編碼問題
其中大部分是葡萄牙語,所以有不少特殊字符。我正在遷移的一些DB是latin1,其中一些是cp1251,一些是utf8。
當然,簡單地傾倒的DB,然後恢復轉儲到新的主機完全搞砸的編碼和「?」字符和其他廢話出現在與數據庫相關的實際網站中。
從小規模來看,可以接受使用html charset標籤,知道要轉儲/還原爲什麼,但問題是我們正在處理數千個數據庫和網站,並且遷移是全部通過幾個腳本自動完成。
我在尋找有關傾倒/恢復這些數據庫的最佳方法的建議,假設執行作品的腳本不知道在HTML標記中指定的編碼。
到目前爲止,我已經嘗試過使用實際的mysqldump工具,以及用php腳本來模擬它,並且從內存而不是從文本文件中進出文件,這些文件都沒有完全複製數據從一個到另一個沒有編碼問題。
我應該使用UTF8編碼轉儲,然後恢復原樣無論HTML代碼頁的? 無論HTML代碼頁如何都以UTF8進行轉儲和恢復? 轉儲和恢復在每個創建表語句中找到的默認字符集?
我的這些不同情景的影響和作用的認識是有限的,但我需要知道的是基本上如果有一種方法可以完美地複製,而不2個數據庫服務器之間的編碼問題的數據不知道被使用的代碼頁正在訪問數據的腳本的HTML。
您是否嘗試將mysql dir(.MYD和.MYI)中的所有數據文件複製到新服務器? –
我無權訪問,我們只擁有擁有數據庫的客戶擁有的相同訪問權限,即連接到數據庫。沒有管理員或root訪問權限。 –