请问一下,苹果 Safari 导出 csv/xlsx 文件中文名是乱码要怎么解决?

2020-04-29 17:01:44 +08:00
 Gaussen

开发语言是 PHP 。 目前是小程序上获取下载链接,然后用户在手机浏览器上下载。 安卓目前没问题,转成了 GB18030 编码。 但是苹果不行,中文名乱码,尝试编码为 iso-8859-1 也还是不行。 找了半天也没看到合适的解决方案,只能求助大佬们了。

2832 次点击
所在节点    PHP
6 条回复
SimonOne
2020-04-29 17:07:53 +08:00
excel 打开的? mac excel 不支持 utf-8
Gaussen
2020-04-29 17:09:30 +08:00
@SimonOne 是通过 iphone 打开的,不是 mac 。手机端的。
Gaussen
2020-04-29 17:10:25 +08:00
@SimonOne iphone 的 safari,下载下来的文件名是乱码
BBCCBB
2020-04-29 17:17:00 +08:00
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData(
"attachment; filename*=UTF-8''", URLEncoder.encode(filename, "utf-8"))

楼主把这个代码转成 php 的试试,我 java 是这样处理的.
ben1024
2020-04-30 11:19:17 +08:00
先获取下编码,然后在进行 iconv/mb_convert_encoding 转码
wensonsmith
2020-12-27 09:46:20 +08:00
可以参考 dompdf 导出部分的实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667332

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX