您的位置:首页 > 运维架构 > Linux

linux下SpringMVC上传文件中文文件名显示乱码问题

2020-02-01 07:40 1911 查看

方法一

https://blog.csdn.net/u012310865/article/details/81706045

在springmvc的配置文件中添加

<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
<bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="UTF-8" />
<!-- 文件大小最大值 -->
<property name="maxUploadSize" value="10485760000" />
<!-- 内存中的最大值 -->
<property name="maxInMemorySize" value="40960" />
<!-- 指定上传文件的临时路径 -->
<!-- <property name="uploadTempDir" value="uploadTempDirectory" /> -->
</bean>

方法二:

https://www.geek-share.com/detail/2731332539.html

在windows上使用ftp上传文件到Linux上,中文名称在Linux系统中显示为乱码。虽然将Linux的env设置了LANG=en_US.UTF-8,并且本地的Shell客户端编码也设置成UTF-8,但在Shell中(或通过http访问),仍是乱码……

原因在于,Windows 的文件名中文编码默认为GBK,压缩或者上传后,文件名还会是GBK编码,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。

yum install convmv
convmv -f gbk -t utf-8 -r --notest /home/wwwroot

常用参数:

-r 递归处理子文件夹

–notest 真正进行操作,默认情况下是不对文件进行真实操作

–list 显示所有支持的编码

–unescap 可以做一下转义,比如把%20变成空格

-i 交互模式(询问每一个转换,防止误操作)

linux下有许多方便的小工具来转换编码:

文本内容转换 iconv

文件名转换 convmv

mp3标签转换 python-mutagen

  • 点赞
  • 收藏
  • 分享
  • 文章举报
__traveler__ 发布了6 篇原创文章 · 获赞 0 · 访问量 58 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐