Mysql
Mysql字元集問題
我正在嘗試將一些數據從一台伺服器導入到另一台伺服器。但是當我這樣做時,我遇到了字元集問題。
像 Goiânia 這樣的詞變成了 Goiâni 和 conceição 變成了 conceição
我的應用程序設置為使用 latin1 字元集
伺服器 1:MySQL 字元集:UTF-8 Unicode (utf8) 表排序規則:latin1_swedish_ci
伺服器 2:MySQL 字元集:UTF-8 Unicode (utf8) 表排序規則:latin1_swedish_ci
我用來從伺服器 1 導出數據的命令 mysqldump -u root -p –default-character-set=iso-8859-1 database_name > db.sql
用於恢復到伺服器 2 的命令 mysql -u root -p database_name < db.sql
根據 mysql 的版本,您想使用以下任一種:
–預設字元集=latin1
要麼
–預設字元集=utf8
在某些版本的 mysqldump 中存在一個奇怪的錯誤,在命令行中指定 utf8 會雙重編碼已經編碼為 utf8 的表,如果我記得的話,該表已在大約一年前的 5.0.51+ 中修復。
如果您在表中正確指定了字元集,我認為您在進行轉儲時不需要使用預設字元集,因為它是從表排序規則和字元集中獲取的。