我编写了一个程序,必须处理瑞典字母
å
ä
和 ö
。
我在 Windows 计算机上编写了它,一切都运行得很好。
但是当我尝试在 Unix 上运行该程序时,在处理瑞典字母时,瑞典字母没有显示,并且该程序无法工作。
顺便说一句,它是用 Java 编写的。
有什么想法可以做什么,以便它在 Unix 上运行时可以工作吗?
你应该使用类似于编码的东西
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)