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