java项目在linux服务器中生成文件名乱码该如何解决?

醉蝎目 2017-08-22 05:07:02
Linux的i18n的配置是:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

java代码中的默认格式是gbk
java命名中用了如下代码
strFileName = new String(strFileName.getBytes("gbk"),"utf-8");


strFileName = new String(strFileName.getBytes("utf-8"));

均会发生乱码
例如 :
杨二
第一种命名乱码:锟斤拷锟?
第二种乱码:鏉ㄤ簩

实在不懂该怎么修改代码解决这个问题了,忘各位大神不吝赐教,十分感激。
...全文
1762 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
90搬砖侠 2018-10-19
  • 打赏
  • 举报
回复
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"; filename*=utf-8''" + fileName);在返回前加上这个设置,测试可行。
qq_38386401 2017-08-24
  • 打赏
  • 举报
回复
文件名不用转码,一般只要求文件内容转utf-8
tianfang 2017-08-24
  • 打赏
  • 举报
回复
linux字符集问题,你没有把中文加到linux中, 现在的设置中utf8只支持英文,创建文件名是操作系统的能力,使用操作系统的字符集

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧