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