MsSQL數(shù)據(jù)導(dǎo)入到Mongo的默認(rèn)編碼問題(正確導(dǎo)入Mongo的方法)
先說下我操作的步驟。
1.從sql2008的management studio查詢5萬條數(shù)據(jù),使用右鍵導(dǎo)出為csv
2.由于默認(rèn)導(dǎo)出沒有帶列名,手工編輯后增加了列名
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格式就可以解決編碼問題,但是發(fā)現(xiàn)使用openoffice后列名和數(shù)據(jù)不匹配,列名很多都疊在一起了,雖然數(shù)據(jù)是能導(dǎo)入進(jìn)去了,但是根本不能用。
換了一種做法,不使用導(dǎo)出csv,直接copy數(shù)據(jù)到excel然后另存為csv,一切正常,這里就發(fā)生了一個(gè)很奇怪的問題,這里使用的編碼還是默認(rèn)的系統(tǒng)編碼,為什么不提示錯(cuò)誤呢?
由于手工轉(zhuǎn)換成csv在數(shù)據(jù)量小得時(shí)候可以,但是數(shù)據(jù)量大的時(shí)候編輯比較慢,就在mangement studio中配置了一下。
選項(xiàng)-查詢結(jié)果-sql server-以網(wǎng)格顯示結(jié)果,選中“在復(fù)制或保存結(jié)果時(shí)包含列標(biāo)題”
這樣在使用導(dǎo)出為csv的時(shí)候,默認(rèn)就是帶著列名的。
mongoimport -d local -c testtable --type csv --headerline --file c:\inmongo.csv
直接就可以了。
但是這個(gè)編碼的問題很奇怪,不知道有人深入了解過沒有。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信