设置文件名编码
我有一个定义的编码(utf8)的输入文件,从中我创建了不同的文件,这些文件的名称和内容(再次是utf8)取自该输入文件。
我的问题是一个特定的Windows系统创建的文件没有正确的字符。这些文件的内容可读性很强,但名称却不可读。而是Ü.xml
使用文件名├£.xml
。
在其他Windows系统上,一切正常。
可以在OutputStreamWriter
的第二个参数中设置文件内容的编码,但是new File(name)
似乎无法设置文件名的编码。
谢谢。
回答:
看到两个字符,应该有一个UTF-8多字节字符ü
。Windows似乎没有UTF-8作为文件编码。然后将UTF-8文件复制到该系统上,例如将zip文件解压缩。
System.getProperty("file.encoding")
应该给平台编码。也许可以想象,这是Java
resp未涵盖的某种奇怪情况。Windows,例如压缩目录,或使用不支持UTF-8的文件系统格式化的第二个外部磁盘。
以上是 设置文件名编码 的全部内容, 来源链接: utcz.com/qa/417532.html