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

时间:2012-09-11 20:06:54

标签: java windows unix utf-8 iso-8859-1

我写了一个程序,必须处理瑞典字母å äö。我是在Windows电脑上写的,一切都很好。但是当我试图在Unix中运行该程序时,瑞典字母没有显示,并且在处理瑞典字母时程序不起作用。顺便说一句,这是在java中。

任何想法该怎么做,所以它在Unix上运行时有效吗?

1 个答案:

答案 0 :(得分: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)