先說下我操作的步驟。
1.從sql2008的management studio查詢5萬條數(shù)據(jù),使用右鍵導出為csv
2.由于默認導出沒有帶列名,手工編輯后增加了列名
3.使用mongoimport導入數(shù)據(jù),錯誤,提示invalid utf8 character
檢查了一下,是因為默認導出為csv的時候,不是utf8的格式而是系統(tǒng)的默認編碼,采用openoffice編輯另存為utf8格式就可以解決編碼問題,但是發(fā)現(xiàn)使用openoffice后列名和數(shù)據(jù)不匹配,列名很多都疊在一起了,雖然數(shù)據(jù)是能導入進去了,但是根本不能用。
換了一種做法,不使用導出csv,直接copy數(shù)據(jù)到excel然后另存為csv,一切正常,這里就發(fā)生了一個很奇怪的問題,這里使用的編碼還是默認的系統(tǒng)編碼,為什么不提示錯誤呢?
由于手工轉換成csv在數(shù)據(jù)量小得時候可以,但是數(shù)據(jù)量大的時候編輯比較慢,就在mangement studio中配置了一下。
選項-查詢結果-sql server-以網格顯示結果,選中“在復制或保存結果時包含列標題”
這樣在使用導出為csv的時候,默認就是帶著列名的。
復制代碼 代碼如下:
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進行編碼和解碼的方法
- 關于go語言編碼需要放到src 文件夾下的問題