我的实际文件名是“парламент.xls”。
但是我无法在 java
中获得相同的文件名。它出现了一些奇怪的东西,比如 ??????.xls问题出在非拉丁单词和字符上。如何使用我的实际文件名而不更改。
我从我这边尝试过。请引用我下面的代码:
String escaped_source = StringEscapeUtils.escapeJava(filename);
String encoded = new String(filename.getBytes("UTF-16"), "ISO-8859-1");
System.out.println("escaped_source------------>"+escaped_source);
System.out.println("encoded------------>"+encoded);
String abc = StringEscapeUtils.unescapeJava(escaped_source);
System.out.println("abc------------>"+abc);
输出:escaped_source------------
>\u043F\u0430\u0440\u043B\u0430\u043C\u0435\u043D\u0442.xls
encoded------------>þÿ?0@;0<5=B
abc------------>?????????.xls
System.out 使用平台编码。这个问题已经有答案了 here
我是一名优秀的程序员,十分优秀!