先說(shuō)下我操作的步驟。
1.從sql2008的management studio查詢(xún)5萬(wàn)條數(shù)據(jù),使用右鍵導(dǎo)出為csv
2.由于默認(rèn)導(dǎo)出沒(méi)有帶列名,手工編輯后增加了列名
3.使用mongoimport導(dǎo)入數(shù)據(jù),錯(cuò)誤,提示invalid utf8 character
檢查了一下,是因?yàn)槟J(rèn)導(dǎo)出為csv的時(shí)候,不是utf8的格式而是系統(tǒng)的默認(rèn)編碼,采用openoffice編輯另存為utf8格式就可以解決編碼問(wèn)題,但是發(fā)現(xiàn)使用openoffice后列名和數(shù)據(jù)不匹配,列名很多都疊在一起了,雖然數(shù)據(jù)是能導(dǎo)入進(jìn)去了,但是根本不能用。
換了一種做法,不使用導(dǎo)出csv,直接copy數(shù)據(jù)到excel然后另存為csv,一切正常,這里就發(fā)生了一個(gè)很奇怪的問(wèn)題,這里使用的編碼還是默認(rèn)的系統(tǒng)編碼,為什么不提示錯(cuò)誤呢?
由于手工轉(zhuǎn)換成csv在數(shù)據(jù)量小得時(shí)候可以,但是數(shù)據(jù)量大的時(shí)候編輯比較慢,就在mangement studio中配置了一下。
選項(xiàng)-查詢(xún)結(jié)果-sql server-以網(wǎng)格顯示結(jié)果,選中“在復(fù)制或保存結(jié)果時(shí)包含列標(biāo)題”
這樣在使用導(dǎo)出為csv的時(shí)候,默認(rèn)就是帶著列名的。
復(fù)制代碼 代碼如下:
mongoimport -d local -c testtable --type csv --headerline --file c:\inmongo.csv
直接就可以了。
但是這個(gè)編碼的問(wèn)題很奇怪,不知道有人深入了解過(guò)沒(méi)有。
您可能感興趣的文章:- Go JSON編碼與解碼的實(shí)現(xiàn)
- Python 編碼規(guī)范(Google Python Style Guide)
- go語(yǔ)言實(shí)現(xiàn)字符串base64編碼的方法
- Go語(yǔ)言對(duì)JSON進(jìn)行編碼和解碼的方法
- 關(guān)于go語(yǔ)言編碼需要放到src 文件夾下的問(wèn)題