
最近SpringCloud项目中需要用到上传文件的功能,发现通过
来获取文件名时,始终是乱码。
尝试了许多种解决方法,都没能解决这个问题。最终发现是zuul网关的问题。
只需要在网关的配置文件中,加上
即可解决中文乱码问题。
现象:采用smartupload上传文件时获取文件名及相关参数()时乱码.原因:上传文件的页面会以页面指定的编码格式对上传的数据进行编码,smartupload在接收数据时会以系统默认的编码解码上传数据,如果页面编码与系统编码不一致,则会导致乱码
解决:
1.指定页面编码与系统编码一致:<meta
http-equiv="Content-Type" content="text/html
charset=utf-8">,对于windows *** 作系统应为gbk,对于linux,要指定为export|grep
LANG中一致的编码格式.
2.修改smartupload.jar中的SmartUpload.java中: String s11 = new
String(m_binArray, m_startData, (m_endData - m_startData) + 1)
和getDataHeader方法中类似部分,加入charSet参数,手动指定编码
这里已经有修改好的smartupload.jar包,只需在上传时指定编码参数即可:su.upload("UTF8")
下载的时候有另存为;2.可能上传的时候文件名的编码是比如utf-8或者别的编码,但不是windows的gbk编码。可能你本地的编码不是gbk编码。试试把乱码的文字复制到UE或者editplus或者文本编辑工具里面,找到编码,尝试着换编码能不能正常显示出来。
希望坚果云网盘的回答能够给到您解答,坚果云企业网盘便捷、安全可靠。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)