簡體   English   中英

使用 java 使用 µ 等特殊字符解析 csv 文件

[英]Parse csv file with special character like µ using java

我有一種情況,我必須閱讀一個 CSV 文件,其中包含像“μ”這樣的特殊字符。 這必須使用 java 來完成。 我在做: BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(,"UTF-8"));

在 windows 中運行正常。 但在 redhat linux 環境中,它會將這些特殊字符轉換為“?”。 非常感謝任何幫助

寫入System.out的 Output 將使用“平台默認編碼”進行編碼,該編碼在 linux 上由語言環境變量確定(參見locale或用戶系統級配置文件)。

在服務器安裝上,默認編碼通常是ASCII "µ" 不是 ASCII 字符,所以它會被轉換為 "?" 打印時。

有幾種方法可以更改默認編碼:

  • 運行程序時設置 Java file.encoding系統屬性,例如

    java -Dfile.encoding=utf-8 yourprogram
  • 在運行程序之前設置 LC_CTYPE 環境變量,例如:

     export LC_CTYPE=en_US.UTF-8 java yourprogram
  • 這些方法還會更改輸入和文件名等的默認編碼。您可以使用 Java 代碼專門為System.out更改編碼:

     PrintStream originalOut = System.out; // in case you need it later System.setOut(new PrintStream(System.out, true, "utf-8"));

暫無
暫無

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

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