请问这种乱码如何处理,ByteArrayResource

我有这样一段上传文件的代码:

ByteArrayResource byteArrayResource = new ByteArrayResource(
    multipartFile.getBytes()) {
    @Override
    public String getFilename() {
        return multipartFile.getOriginalFilename();
    };
};

到我把文件上传到另外一层去的时候,也是用MultipartFile来接收文件的,但file.getOriginalFilename()中文输出的是???这样的乱码?请问怎么破?ByteArrayResource中文乱那么,怎么破?

阅读 6.1k
2 个回答

问题不是出在 MultipartFile 上,而是出在项目配置上。一般来讲避免乱码只要下面两步:

1、配置 Tomcat 的 URIEncoding 参数,参考
2、鉴于你用了 SpringMVC 框架,建议在 web.xml 中添加 CharacterEncodingFilter,该 Filter 的用法很容易搜到。

只要做到上面两步,并且配置为相同的编码(强烈建议用 UTF-8),就不需要为任何编码问题头疼了。

保证前后的编码格式一致,如果通过String获取byte数组时要添加编码格式,另保证数据库或者控制台的编码一致。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题