mysql 导出gbk_mysqldump指定编码导出数据,GBK编码实践
第一步,導(dǎo)出舊庫(kù)
mysqldump --default-character-set latin1 -uroot -pXXX --database db > /tmp/old.sql
第二步,轉(zhuǎn)換編碼
iconv -t utf-8 -f gb2312 -c /tmp/old.sql > /tmp/new.sql
第三步,導(dǎo)入新庫(kù)
修改new.sql,增加一條sql語句: "SET NAMES utf8;",保存。
mysql -hlocalhost -uroot db < new.sql
來自:PHP高級(jí)技術(shù)群 8745758
Gbk編碼導(dǎo)出這個(gè)Mysql的注釋也就對(duì)了:
view plaincopy to clipboardprint?
1.mysqldump --default-character-set gbk -d db_adc t_tst_sum_info > /tmp/old.sql
而存入的時(shí)候是:
要想顯示 正常,需要在Mysql Client輸入:
1.set names latin1;
再select數(shù)據(jù)也就正常了。是表存的內(nèi)容是latin1,而這個(gè)表結(jié)構(gòu)的注釋是gbk編碼的,所以這塊還是多少有一些問題;
證明:
1,只導(dǎo)出數(shù)據(jù):
mysqldump --default-character-set gbk -t db_adc t_tst_sum_info > /tmp/old.sql 理論是亂碼,實(shí)踐出也是亂碼。
mysqldump --default-character-set latin1 -t db_adc t_tst_sum_info > /tmp/old.sql 理論上是正常,實(shí)踐也是正常。
充分說明這個(gè)表的結(jié)構(gòu)注釋和表內(nèi)容是不一樣的,要想一樣,得統(tǒng)一為lation,或者gbk,但歷史原因都是lation,所以,統(tǒng)一為lation較好。
最后:盡管說明這樣兩種編碼是可以的,但是還是可以統(tǒng)一為lation的,線上我也就發(fā)現(xiàn)是可以的。
總結(jié)
以上是生活随笔為你收集整理的mysql 导出gbk_mysqldump指定编码导出数据,GBK编码实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: yii2 mysql save_Yii2
- 下一篇: docker mysql映射端口映射_d