主頁 > 知識庫 > mysql如何在已有數(shù)據(jù)庫上統(tǒng)一字符集

mysql如何在已有數(shù)據(jù)庫上統(tǒng)一字符集

熱門標簽:徐涇鎮(zhèn)騰訊地圖標注 福建外呼電銷機器人加盟 電話機器人的價格多少錢一個月 自己做地圖標注需要些什么 百度地圖標注要什么軟件 400電話申請廠家現(xiàn)貨 昌德訊外呼系統(tǒng) 中國地圖標注公司 天津公司外呼系統(tǒng)軟件

前言

數(shù)據(jù)庫里面,部分數(shù)據(jù)表和數(shù)據(jù)是latin1的,部分數(shù)據(jù)表和數(shù)據(jù)是UTF8,還有部分表,表結構是utf8而數(shù)據(jù)是latin1。

這種奇葩情況,工作了十幾年的我,還是第一次碰到。下面說一下,怎么樣字符集統(tǒng)一成utf8

1,建一個空數(shù)據(jù)庫

2,把表結構和數(shù)據(jù)是utf8的表導出,然后直接導入到新的數(shù)據(jù)庫中

3,數(shù)據(jù)表和數(shù)據(jù)都是latin1的表,先導出表結構和數(shù)據(jù),加上--default-character-set=latin1,將導出文件中,latin1改為utf8,在導入到新的數(shù)據(jù)庫中。

4,表結構是utf8,表數(shù)據(jù)是latin1的,有二種方法:

4.1,先導出表結構,導入到新的數(shù)據(jù)庫中。導出數(shù)據(jù),加上--default-character-set=utf8,因為表結構是utf8,表數(shù)據(jù)是latin1,入庫時已亂碼。在將數(shù)據(jù)導入到新庫中。這種方案有缺點,--default-character-set=utf8,導出的數(shù)據(jù)可能會有丟失,導出的數(shù)據(jù),在導入時可能會報錯。

4.2,可以通過binary字符集做中轉,推薦這種方法

UPDATE user SET user_name = CONVERT(CONVERT(CONVERT(user_name USING latin1) USING binary) USING UTF8); 

這種方法,省去了導出導入的麻煩,速度比較快,11w條數(shù)據(jù),差不多5-6秒

數(shù)據(jù)庫設計這塊非常重要,在設計數(shù)據(jù)庫時一定要考慮清楚。地基不牢,大廈遲早會倒的。

您可能感興趣的文章:
  • MySQL查看與修改字符集的方法實例教程
  • 如何修改MySQL字符集
  • mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決
  • MySQL字符集utf8修改為utf8mb4的方法步驟
  • MySQL字符集亂碼及解決方案分享
  • 詳解JDBC對Mysql utf8mb4字符集的處理
  • MySQL中因字段字符集不同導致索引不能命中的解決方法
  • MAC下修改mysql默認字符集為utf8的方法
  • Docker下mysql設置字符集的方法
  • 關于mysql查詢字符集不匹配問題的解決方法
  • 詳解mysql中的字符集和校驗規(guī)則

標簽:黔西 荊門 梅河口 昌都 駐馬店 鄂爾多斯 北京 陜西

巨人網絡通訊聲明:本文標題《mysql如何在已有數(shù)據(jù)庫上統(tǒng)一字符集》,本文關鍵詞  mysql,如,何在,已有,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql如何在已有數(shù)據(jù)庫上統(tǒng)一字符集》相關的同類信息!
  • 本頁收集關于mysql如何在已有數(shù)據(jù)庫上統(tǒng)一字符集的相關信息資訊供網民參考!
  • 推薦文章