我有一个情况,Linux挂载的NAS包括具有斯堪的纳维亚字符(如ä、ö、å)的文件名。当我使用ls列出文件时,我看到所有这些字符都显示为问号(?)。如果我运行ls -b,我将看到文件名的编码版本。像这样的字符:\ 303 \ 205
我需要从我的Java代码中读取那些文件及其文件名,但我做不到。如果我使用File.listFiles列出文件,我会得到问号而不是正确的字符。如果我将File转换为Path,我会得到异常:java.nio.file.InvalidPathException:输入格式错误或输入包含无法映射的字符
如果我在运行它时设置Dsun.jnu.encoding = UTF-8,我可以摆脱异常,但是我仍然得到ä、ö或å的问号。
我尝试了不同的设置来挂载NAS,例如check=relaxed,但没有运气。
非常感谢任何帮助。
System.out.println( "\u00E4\u00E5\u00F6" );
时,您会看到什么? - laune