使用apache.commons.io(IOUtils.copy)转换为Java字符串时,MultipartFile丢失了Unicode字符
我的应用程序用户需要上传包含unicode(UTF-8)字符的文本文件,但在服务器端转换文件内容时,unicode字符会丢失 例如:BleȬÁno被转换为Ble?no使用apache.commons.io(IOUtils.copy)转换为Java字符串时,MultipartFile丢失了Unicode字符,java,character-encoding,Java,Character Encoding,我的应用程序用户需要上传包含unicode(UTF-8)字符的文本文件,但在服务器端转换文件内容时,unicode字符会丢失 例如:BleȬÁno被转换为Ble?no public String getUploadFileAsString() { try { final InputStream stream = file.getInputStream(); final StringWriter writer = new Str
public String getUploadFileAsString() {
try {
final InputStream stream = file.getInputStream();
final StringWriter writer = new StringWriter();
IOUtils.copy(stream, writer, Charsets.UTF_8);
return writer.toString();
} catch (final IOException e) {
throw new Exception("exception in getUploadFileAsString()", e);
}
}
问题中显示的代码是服务器代码还是客户端代码?此方法返回的字符串会发生什么变化?文件最初是如何创建的?可能是的副本您是否绝对确定该文件是UTF-8?对于我而言,它代替了“� 出现。我在记事本++中使用了“转换为utf-8”选项,之后在上传时,这个字符正确地出现了。