我的 Linux 机器上的默认字符集是 US-ASCII。如果我上传带有变音符号的文件,我的编码有问题。
在示例中,我创建了一个名为 standü.png 的文件。如果我做
new String(f.getName().getBytes(Charset.defaultCharset()),"UTF-8");
我的结果是stand?.png。但我想要standü.png(带变音符号)
//Default Charset is US-ASCII
System.out.println(Charset.defaultCharset());
String s = "standü.png";
File f = new File(s);
String newstr = new String(f.getName().getBytes(Charset.defaultCharset()),"UTF-8");
System.out.println(newstr);
我的输出是:
US-ASCII
stand?.png