我编写了一个必须处理瑞典字母å
ä
和ö
. 我在一台 Windows 计算机上编写了它,并且在那里一切正常。但是当我尝试在 Unix 中运行该程序时,瑞典字母不显示,并且该程序在处理瑞典字母时不起作用。顺便说一句,它在java中。
有什么想法可以做什么,所以它在 Unix 上运行时可以工作吗?
我编写了一个必须处理瑞典字母å
ä
和ö
. 我在一台 Windows 计算机上编写了它,并且在那里一切正常。但是当我尝试在 Unix 中运行该程序时,瑞典字母不显示,并且该程序在处理瑞典字母时不起作用。顺便说一句,它在java中。
有什么想法可以做什么,所以它在 Unix 上运行时可以工作吗?
你应该使用类似于编码的东西
FileInputStream(file.getAbsolutePath()), fileEncoding)
wherefileEncodig == "UTF-8"
或其他编码,也可用于添加-Dfile.encoding=UTF-8
系统属性或以编程方式
System.setProperty("file.encoding", fileEncoding);
您可以使用与 . 相同的编码String#getBytes(fileEncoding)
或String
构造函数getBytes
。使用UTF-8
charset 对符号进行编码和解码的示例:
new String (value.getBytes("ISO-8859-1"),"UTF-8");
我也用它来读取 UTF-8 捆绑资源。
同样的东西用于FileOutputStream
FileOutputStream(file.getAbsolutePath()), fileEncoding)