multipart/form-data 方式,出现中文乱码怎么处理

已举报 回答
multipart/form-data 方式,出现中文乱码怎么处理
问在线客服
扫码问在线客服
  • 回答数

    8

  • 浏览数

    5,356

8个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
现象:采用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);
取消 评论
设置编码格式啊。
OutputFormat format=new OutputFormat();--一般用这个
format.setEncoding(UTF-8);--设置输出的编码格式
取消 评论
这个问题灰常复杂,页面、tomcat、servlet、数据库都有编码格式,有不符的可能就出现乱码。
取消 评论
把页面的编码格式和request的都设置成一样的试试
取消 评论
.properties文件中未注释的中文不要直接用中文表示,利用jdk自带的命令native2ascii 转换例如然后就可以用\u5728\u8fd9\u91cc\u8f93\u5165\u4e2d\u6587\u540e\u56de\u8f66来替换“在这里输入中文后回车”在properties文件中的位置
取消 评论
有GBK,UTF-8,ISO-8859-1供你选择1、window - Preferences - general - Workspac - Text file encoding
  选择Other,将编码改变为UTF-8,这样以后新建立工程其属性对话框中的Text file encoding即为UTF-8。

  2、window - Preferences - general - Content Types
  选择Text树,点开,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,按下Update按钮,则设置Java文件编码为UTF-8。
取消 评论
中文乱码一般都是编码格式的问题,你可以试试右击项目,仅仅更改项目的编码。

还有一种方法就是用记事本打开项目中乱码的文件,然后复制粘贴到eclipse中,这种方法是一种笨办法,对于小文件来说也是一种挺有用的方法。
取消 评论
在你的servlet里对数据进行重新编码,例如:
String data=new String (request.getAttribute(data).getBytes(iso8859-1,gb2312));
转换之后的data字符串再插入到数据库中
取消 评论
ZOL问答 > 家电其他 > 其他 > multipart/form-data 方式,出现中文乱码怎么处理

相关产品

  • LEBODY Form

    LEBODY Form

    参考价:¥2780    评分:-

    热门排行榜:第148名

  • 京东搜一搜

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?