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

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

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

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

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


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

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

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


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

【热门文章】
【热门文章】