繁体   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