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