簡體   English   中英

如何在Java中消除Windows特殊字符`^ @`

[英]How to eliminate Windows special character`^@` in java

我的工作做了一些流程,例如

  • 將數據從csv加載到MySQL(遷移副本表-來自MSSQL)
  • 讀取MySQL數據以制作VO Java類
  • VO編輯后,將保存到MySQL(另一個表)

問題是 ...

  • 打開CSV文件,我可以看到特殊字符^@
  • LOAD DATA之后再做SELECT查詢,數據不包含^@
  • 但是,我通過Java讀取了相同的數據並還原到另一個表,它存儲\

如何刪除這個\\^0000

我目前的狀況中最好的解決方案,我想用Java代碼處理...

僅供參考

  • 在Windows OS(從客戶端)上進行的MSSQL轉儲
  • MySQL在Windows上加載數據(本地開發環境)
  • 執行遷移的程序在CentOS(服務器)上

我相信您的導出會將BIT值轉儲為實際的“位字符”,即BIT 0變為\\0 ,而BIT 1變為\\1

為了方便(和提高速度),您可以使用具有以下設置的univocity-parsers解析CSV:

CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.setSkipBitsAsWhitespace(false); //prevents treating \0 and \1 as blank space

CsvParser parser = new CsvParser(parserSettings);

然后,可以繼續在它們出現的列上分別將\\0\\1替換為字符01

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM