我写了一个程序,必须处理瑞典字母å
ä
和ö
。我是在Windows电脑上写的,一切都很好。但是当我试图在Unix中运行该程序时,瑞典字母没有显示,并且在处理瑞典字母时程序不起作用。顺便说一句,这是在java中。
任何想法该怎么做,所以它在Unix上运行时有效吗?
答案 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)