我有一個phpnuke網站的轉儲文件,不知何故在utf8中。我正嘗試在新服務器上重新打開此網站。但nuke使用latin1。 我需要一種使用此utf-8轉儲文件創建latin1數據庫的方法。 我嘗試了所有我能想到的。 iconv,mysql替換,php替換...將utf-8 mysqldump導入latin1數據庫
4
A
回答
2
在轉儲開始時添加SET NAMES 'utf8';
語句。 這將向MySQL表明它即將收到的命令是UTF8。 它會將數據存儲在當前設置的表中的任何字符集中;在這種情況下,如果你的數據庫是latin1,數據將被存儲在latin1中。
從http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html:
SET NAMES表示的字符集的客戶端將使用SQL語句發送到服務器。因此,SET NAMES的'cp1251'告訴服務器,「來自這個客戶端的未來傳入消息使用字符集cp1251」。它還指定了服務器用於將結果發送回客戶端的字符集。 (例如,它表示什麼字符集使用的列值,如果你使用SELECT語句。)
最後一件事是latin1的比UTF8可用更少的字符。對於西歐語言以外的任何內容,您將丟失數據。
例如,假設列test
是latin1。第一項將正確顯示(法國口音在latin1內);然而,韓語中的第二項將顯示爲問號。
SET NAMES 'utf8';
INSERT INTO TESTME(test) VALUES ('Bienvenue sur Wikipédia');
INSERT INTO TESTME(test) VALUES ('한국어 위키백과에 오신 것을 환영합니다!');
相關問題
- 1. latin1的MYSQL和UTF8後mysqldump的
- 2. MySQL將latin1數據轉換爲UTF8
- 3. 將數據從latin1更改爲utf8
- 4. mysqldump沒有導入所有數據庫
- 5. Python將latin1轉換爲UTF8
- 6. 將latin1轉換爲UTF8
- 7. UTF8與Latin1的
- 8. 將數據從latin1轉換爲utf8後截斷數據
- 9. utf8網站和latin1數據庫表字段
- 10. 如何舊數據庫轉換在MySQL形式LATIN1爲utf8
- 11. 使用utf8從perl腳本訪問latin1 mysql數據庫
- 12. 在MySQL中將數據從LATIN1轉換爲UTF8
- 13. 將latin1數據庫轉換爲utf-8
- 14. 如何在MySQL插入或更新時將latin1數據轉換爲UTF8?
- 15. SOLR + Mysql:如何將utf8轉換爲latin1
- 16. 如何將mysql latin1轉換爲utf8
- 17. 將latin1轉換爲utf8的問題
- 18. 將latin1字符串轉換爲utf8?
- 19. MySQL將表格從Latin1轉換爲utf8
- 20. 將我的phpbb2 latin1數據庫轉換爲phpbb3 utf8數據庫的最佳選擇是什麼?
- 21. 如何導出/導入utf8-general-ci數據庫?
- 22. 轉換LATIN1到UTF8在C#
- 23. UTF8 - > Latin1難度,PHP
- 24. LATIN1到UTF8轉換問題
- 25. 使用mysqldump緩慢寫入數據庫
- 26. 如何將數據庫中的數據unicode從latin1轉換爲utf8而不丟失當前數據?
- 27. 如何用'DROP TABLE IF EXISTS'導入多數據庫MySQLdump?
- 28. mysqldump塊插入innodb數據庫?
- 29. 將img導入數據庫
- 30. 將csv導入數據庫
您擁有的轉儲文件是以UTF-8編碼的,並且所有字符都以UTF-8正確顯示,您只是想將它們存儲在latin1數據庫中?而且這些字符都是latin1兼容的(即所有字符都可以用latin1編碼)? – deceze
這正是我想要的,情況是什麼。 – hctopcu