[備忘]我的需求是統(tǒng)一成 gbk 式。 使用SQLyog從包含中文的csv文件中導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫,出現(xiàn)亂碼。 癥狀: 1.直接導(dǎo)入CSV文件,數(shù)據(jù)導(dǎo)入成功,但在sqlyog中顯示為亂碼; 2.使用insert 語句在sqlyog上進(jìn)行導(dǎo)入測試,數(shù)據(jù)存入后顯示為亂碼; 3.使用cmd 命
[備忘]我的需求是統(tǒng)一成gbk格式。
使用SQLyog從包含中文的csv文件中導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫,出現(xiàn)亂碼。
癥狀:
1.直接導(dǎo)入CSV文件,數(shù)據(jù)導(dǎo)入成功,但在sqlyog中顯示為亂碼;
2.使用insert 語句在sqlyog上進(jìn)行導(dǎo)入測試,數(shù)據(jù)存入后顯示為亂碼;
3.使用cmd 命令行操作mysql,查看數(shù)據(jù)為亂碼;直接insert依然為亂碼;
4.。反正都是亂碼。。
解決步驟:
1.關(guān)閉mysql服務(wù)后,修改mysql安裝目錄下的my.ini
默認(rèn)為latin1神馬的。將default-character-set=gbk ,該屬性賦值出現(xiàn)了2次。
2. 如果不安心,那么繼續(xù)到mysql的數(shù)據(jù)目錄下面,例如我的項(xiàng)目test
C:\ProgramData\MySQL\MySQL Server 5.1\data\test下面,打開db.opt文件,
內(nèi)容替換為
default-character-set=gbk
default-collation=gbk_chinese_ci
保存。
3.啟動(dòng)mysql服務(wù),使用命令查看目前的編碼情況
可以看到大部分都變成gbk了……只有一個(gè)character_set_system 是utf8。不過沒關(guān)系,
根據(jù)網(wǎng)址 MySQL5.1參考手冊 可以知道,這個(gè)不影響,僅僅是元數(shù)據(jù)的編碼。
4.
有些人搞完前面的幾步已經(jīng)好了,不過呢,我遇到的更麻煩些,搜到了一個(gè)人的解決方案,在每一列上都設(shè)置好charset 為gbk
參考網(wǎng)址:點(diǎn)擊打開鏈接
于是就alter table xx 。。 modify yy varchar(30) character setgbk;
參考網(wǎng)址的lz走到這里就ok了,可是我的還是依舊導(dǎo)入失??;那么很顯然我還得繼續(xù)調(diào)整導(dǎo)入csv文件的格式;
5.使用記事本或者UE等工具打開csv文件,另存為gbk格式。
(我一直用notepad++來打開,調(diào)整編碼模式,貌似一直不行。。)
在另存為的時(shí)候,我發(fā)現(xiàn)并沒有g(shù)bk選項(xiàng)。。囧。但經(jīng)過搜索之后發(fā)現(xiàn),其實(shí)就是選擇ansi即可。。(貌似ansi是指本地編碼)
不過為了保險(xiǎn)起見,在另存為ansi之前我又做了以下的事情(使用UE):
然后就好了。。
回頭去試試記事本的另存為ansi是不是這樣。
改天貌似真得好好理理這幾種編碼。太容易迷暈我了
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com