特殊字元^M引起的資料匯入問題
問題:特殊字元^M引起的資料匯入問題:
問題描述:
在完成需求時需要透過系統入口網站上傳原始資料,在到生產環境登入ftp下載資料.一次在從ftp下載下來資料,使用load匯入資料庫的過程後,發現匯入的資料與檔案中的資料不一致,
欄位被擷取了.
使用命令:cat -v source.txt 檢視檔案發現每行記錄後有一個特殊字元^M(經查該字元可透過ctrl+v+m輸入),
使用命令:sed 's/^M//g' source.txt 替換掉^M字元,再次匯入,成功.
問題分析:
關於使用ftp傳輸檔案的兩種方式:binary ascii
binary:以二進位制位元流傳輸檔案,保留了原檔案中的所有所以字元資訊
ascii:以ascii碼傳輸的時候,會在原系統還目標系統做相應的字元轉換
將回車換行轉換為本機的回車換行->
unix:n
windows:rn
mac:r
而上面的^M對應的是windows下dos格式的r,即十六進位制的0D,因為門戶的ftp上傳功能使用的是binary傳輸模式,所以系統沒有對windows下的回車換行進行替換,
到unix平臺就會在每行記錄後多出一個^M字元.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23937368/viewspace-1044947/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【oracle 資料匯入匯出字元問題】Oracle字元
- Oracle錄入特殊字元 [&] 的小問題Oracle字元
- url中的特殊字元問題字元
- DBeaver 資料匯入SQL時的問題SQL
- MySQL資料匯入匯出亂碼問題MySql
- BW資料匯入亂碼問題
- 使用PHP向MySQL資料庫匯入資料,中文字元顯示亂碼問題PHPMySql資料庫字元
- DB2匯入資料遇到的問題DB2
- Hive資料匯入HBase引起資料膨脹引發的思考Hive
- linux sed 命令引起的^M問題解決Linux
- sqlloader匯入含有回車的字元資料SQL字元
- 由於源資料和目標資料的字符集不一致,引起無法匯入的問題
- ORA-39082 匯入資料遇到的問題
- scheme跳轉特殊字元編碼問題Scheme字元
- impdp做資料匯入時約束和觸發器引起資料匯入後應用故障觸發器
- 請問java中向網頁匯入資料問題!Java網頁
- 資料匯出問題
- 資料庫SQL Server DAC 匯入匯出資料到SQL Azure問題資料庫SQLServer
- 含有特殊字元的資料檔案處理字元
- 【LaTeX入門】10、特殊字元字元
- php做EXCEL資料匯出匯入開發的一些小問題PHPExcel
- oracle使用者密碼設定的特殊字元問題Oracle密碼字元
- 解決oracle net manager不允許使用特殊字元的問題Oracle字元
- imp工具匯入整個資料庫出現的問題資料庫
- 匯入大量資料,比如300G資料,匯出500G資料需要考慮的問題
- Python大資料分析學習.Pandas 資料匯入問題 (1)Python大資料
- mysql資料庫匯入外來鍵約束問題MySql資料庫
- 根據時間欄位匯入資料的問題總結
- 解決Excel資料匯入sqlite中的中文亂碼問題ExcelSQLite
- 記憶體洩漏引起的 資料庫效能問題記憶體資料庫
- 關於資料表結構sql檔案匯入mysql資料庫的問題?MySql資料庫
- 特殊字元字元
- Bash的特殊字元字元
- html的特殊字元HTML字元
- excel檔案內容匯入資料庫的問題及解決Excel資料庫
- 資料庫的匯入匯出資料庫
- 資料泵的匯入匯出
- mysql 5.5.9 匯出匯入到5.1.41 的問題MySql