新聞中心
Mysql字符集修改應(yīng)該如何實現(xiàn)呢?下面就為您詳細(xì)介紹已用數(shù)據(jù)表的Mysql字符集修改方法,希望對您學(xué)習(xí)Mysql字符集方面能有所啟迪。

為企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、營銷型網(wǎng)站、競價托管、品牌運營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!
環(huán)境:在應(yīng)用開始階段沒有正確的設(shè)置字符集,在運行一段時間以后才發(fā)現(xiàn)存在不能滿足需求需要調(diào)整,又不想丟棄這段時間的數(shù)據(jù),那么就需要進行字符集的修改。字符集的修改不能直接通過"alter database character set *** " 或者 "alter table tablename character set *** "命令進行,這兩個命令都沒有更新已有記錄的字符集,而只是對新創(chuàng)建的表或者記錄生效。
那么已有記錄的字符集調(diào)整,需要怎么操作呢?
以下模擬的是將latin1字符集的數(shù)據(jù)庫修改成GBK字符集的數(shù)據(jù)庫的過程:
(1) 導(dǎo)出表結(jié)構(gòu)
mysqldump -uroot -p --default-character-set=gbk -d databasesename > createdb.sql
其中--default-character-set=gbk表示設(shè)置以什么字符集連接,-d表示只導(dǎo)出表結(jié)構(gòu),不導(dǎo)出數(shù)據(jù)
(2) 手工修改createdb.sql中表結(jié)構(gòu)定義中的字符集為新的字符集
(3) 確保記錄不再更新,導(dǎo)出所有記錄
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename > data.sql
--quick:該選項用于轉(zhuǎn)儲大的表。它強制Mysqldump從服務(wù)器一次一行的檢索表中的行,而不是檢索所有的行,兵輸出前將它緩存在內(nèi)存中
--extended-insert:使用包括幾個values列表的多行Insert語法,這樣使轉(zhuǎn)儲文件更小,重載文件更快
--no-create-info:不屑重新創(chuàng)建每個轉(zhuǎn)儲表的create table語句
--default-character-set=latin1:按照原有的字符集導(dǎo)出所有數(shù)據(jù),這樣導(dǎo)出的文件中,所有中文都是可見的,不會保存成亂碼
(4) 打開data.sql,將SET NAMES latin1 修改成SET NAMES gbk
(5) 使用新的字符集創(chuàng)建新的數(shù)據(jù)庫
create database newdatabasename default charset gbk;
(6) 創(chuàng)建表,執(zhí)行createdb.sql
mysql -uroot -p newdatabasesname < createdb.sql
(7) 導(dǎo)入數(shù)據(jù),執(zhí)行data.sql
mysql -uroot -p newdatabasename < data.sql
文章題目:已用數(shù)據(jù)表的Mysql字符集修改
當(dāng)前鏈接:http://fisionsoft.com.cn/article/cdcosse.html


咨詢
建站咨詢
