Windows 上的 UTF-8/ISO-8859-1 编码问题 --> Unix

问题描述 投票:0回答:1

我编写了一个程序,必须处理瑞典字母

å
ä
ö

我在 Windows 计算机上编写了它,一切都运行得很好。

但是当我尝试在 Unix 上运行该程序时,在处理瑞典字母时,瑞典字母没有显示,并且该程序无法工作。

顺便说一句,它是用 Java 编写的。

有什么想法可以做什么,以便它在 Unix 上运行时可以工作吗?

java windows unix utf-8 iso-8859-1
1个回答
0
投票

你应该使用类似于编码的东西

FileInputStream(file.getAbsolutePath()), fileEncoding)

其中

fileEncodig == "UTF-8"
或其他编码,也可用于添加
-Dfile.encoding=UTF-8
系统属性或以编程方式

System.setProperty("file.encoding", fileEncoding);

您可以对

String#getBytes(fileEncoding)
String
构造函数与
getBytes
使用相同的编码。使用
UTF-8
字符集编码和解码符号的示例:

new String (value.getBytes("ISO-8859-1"),"UTF-8");

我也用它来读取 UTF-8 捆绑资源。

同样的东西用于

FileOutputStream

FileOutputStream(file.getAbsolutePath()), fileEncoding)
© www.soinside.com 2019 - 2024. All rights reserved.