有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Windows>Unix上UTF8/ISO88591编码的java问题

我写了一个程序,必须处理瑞典字母å{}和ö。我在Windows电脑上写的,一切都很好。但是,当我试图在Unix中运行该程序时,瑞典语字母不显示,而且在处理瑞典语字母时,该程序也不起作用。顺便说一下,它是用java编写的

你知道该怎么做吗,这样它在Unix上运行时就可以工作了


共 (1) 个答案

  1. # 1 楼答案

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

    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)