最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實(shí)戰(zhàn)mysql導(dǎo)出中文亂碼及phpmyadmin導(dǎo)入中文亂碼的解決方法

 更新時(shí)間:2010年06月11日 01:05:41   作者:  
因?yàn)橐驯緳C(jī)的gbk編碼的mysql數(shù)據(jù)庫(kù)導(dǎo)入到虛擬主機(jī)去,服務(wù)商只提供了phpmyadmin供你導(dǎo)入導(dǎo)出。
一直不用這個(gè)phpmyadmin,在本機(jī)也是用navicat,總感覺(jué)phpmyadmin速度較慢。這回不行了,沒(méi)有獨(dú)立主機(jī),只好用人家給的phpmyadmin了。

第一步:本地?cái)?shù)據(jù)導(dǎo)出sql文件。心想這對(duì)于navicat小事一樁。直接在數(shù)據(jù)庫(kù)上右鍵“轉(zhuǎn)儲(chǔ)sql”(如圖1),嘩嘩,十幾秒的時(shí)間導(dǎo)出成功。

圖1:navicat下對(duì)整個(gè)數(shù)據(jù)庫(kù)轉(zhuǎn)sql

用記事本打開(kāi)一看,傻眼了。中文全是亂碼。咋回事呢?搜索了一下,改變什么連接屬性啥的。不管用。試著在單張表上,轉(zhuǎn)儲(chǔ)sql,嘿,中文正常。但是82個(gè)表,我一個(gè)個(gè)轉(zhuǎn)儲(chǔ)我不累死。不行??磥?lái)只能棄用我心愛(ài)的navicat了。想起有個(gè)mysqldump,好試試它。運(yùn)行-C:\Documents and Settings\Administrator>mysqldump -uroot -p123  ttg>ttgbk2.sql。打開(kāi)一看,還是亂碼。還不行。唉。。搜索,改成下面的加上指定字符集

C:\Documents and Settings\Administrator>mysqldump -uroot -p123 --default-character-set=gbk ttg>ttgbk2.sql。打開(kāi)看看。嘿可以了。

 

第二步:打開(kāi)虛擬主機(jī)提供的phpmyadmin.導(dǎo)入選擇文件ttgbk2.sql.點(diǎn)執(zhí)行。那個(gè)速度,唉。。。一會(huì)兒報(bào)錯(cuò)了。在執(zhí)行l(wèi)ock tables tablename write 時(shí)出現(xiàn)access denied錯(cuò)誤,原來(lái)我是虛擬主機(jī)用戶沒(méi)有 lock tables的權(quán)限.打開(kāi)sql一看還真有l(wèi)ock tables 選項(xiàng)。沒(méi)權(quán)限那就不用這個(gè)。到網(wǎng)上一搜說(shuō)加上--skip-lock-tables,心想不錯(cuò),應(yīng)該是這個(gè)“跳過(guò)鎖表”嘛

在mysqldump時(shí)加上-skip-lock-tables選項(xiàng),那么命令行就變成
C:\Documents and Settings\Administrator>mysqldump -uroot -p123 --default-character-set=gbk --skip-lock-tables ttg>ttgbk3.sql.
結(jié)果令人失望,還是有l(wèi)ock tables.
后來(lái)看了一下mysqldump --help
才明白--skip-lock-tables是用在備份時(shí)候不讓讀寫(xiě)。但是如果你不想讓導(dǎo)出的帶lock-tables(因?yàn)槟銓?dǎo)入的時(shí)候沒(méi)有權(quán)限嘛,呵呵)應(yīng)該是使用add-locks=false,這是2個(gè)概念。正確的如下
C:\Documents and Settings\Administrator>mysqldump -uroot -p123 --default-character-set=gbk ttg --add-locks=false>ttgttg3.sql.

我的版本導(dǎo)出的在記事本中打開(kāi)是asni格式的。

再次到phpmyadmin處導(dǎo)入。結(jié)果是導(dǎo)入了3個(gè)表后報(bào)錯(cuò)。mysql語(yǔ)句報(bào)錯(cuò)。一看中文還亂碼。。。。。接近崩潰。

再找原因。把“MySQL 連接校對(duì)”改成gbk-chinese-ci,把language改成中文-chinese simplified(如圖2)。再把導(dǎo)入時(shí)“文件編碼”改成“gbk”(默認(rèn)的是utf-8,當(dāng)然對(duì)應(yīng)的sql文件的編碼用記事本打開(kāi)就是ansi.)(如圖三).再試。。。。

 

 

圖二:修改連接校對(duì)及l(fā)anguage

 

(圖三:修改文件的字符集為gbk)

 

終于所有表導(dǎo)入成功。打開(kāi)一個(gè)含有中文的表,字段顯示正常。

2點(diǎn)體會(huì):

1、數(shù)據(jù)庫(kù)編碼歸數(shù)據(jù)庫(kù)編碼。保證連接校對(duì)與數(shù)據(jù)庫(kù)編碼一致即可。

2、sql文件編碼歸文件編碼。保證導(dǎo)入時(shí)選擇的文件編碼與數(shù)據(jù)庫(kù)所用編碼一致最好。

這是2個(gè)編碼問(wèn)題。

服了你了mysql.從知道你有這個(gè)編碼問(wèn)題到到現(xiàn)在,你還是這個(gè)樣子。這個(gè)問(wèn)題還是讓很多人困惑。啥時(shí)候像sqlserver那樣國(guó)際化就好了。

相關(guān)文章

最新評(píng)論

固安县| 航空| 石首市| 宜州市| 乌兰浩特市| 嘉荫县| 怀化市| 罗田县| 丽江市| 平遥县| 台前县| 贵州省| 奈曼旗| 双鸭山市| 嘉定区| 行唐县| 阿拉善右旗| 百色市| 枞阳县| 云安县| 苍溪县| 瓮安县| 阿尔山市| 塘沽区| 汾西县| 寿阳县| 芜湖县| 阳城县| 凤冈县| 收藏| 永仁县| 天气| 康乐县| 冕宁县| 高陵县| 仁怀市| 安阳县| 赣州市| 苍山县| 定日县| 礼泉县|