Flash 上传程序(Uploadify 和 SwfUpload)- 文件名中特殊字符的问题
-
20-09-2019 - |
题
我需要实现一个基于 Flash 的文件上传器,它允许我一次上传多个文件并查看进度。
然而,对于这两种情况,当用户尝试上传文件名带有特殊字符(例如丹麦语 æøå 或瑞典语 ö - 以及我确信的其他字符)的文件时,我都遇到了问题。
文件上传正常,但文件名搞砸了:
- malmö.jpg 变为 malmö.jpg
- æblemoster.jpg 变为 êblemoster.jpg
当然,我尝试过在不使用 Flash 的情况下将文件提供给我的上传脚本 - 然后它们就可以正常工作。因此,据我所知,flash 上传对象和/或 javascript 会抓取文件 - 并以某种方式将文件名搞乱。
有没有人遇到过类似的事情 - 也许知道我如何才能使这项工作按预期进行?
解决方案
SWFObject 输入很可能发送 UTF8 编码数据,并且服务器端的脚本将它们作为 ISO-8859-1 进行处理。要快速修复(如果您在服务器端使用 PHP),请尝试对传入文件名使用 utf8_decode()。
如果我是你,我会考虑简单地过滤掉所有变音符号并将它们转换为非变音符号或“o”、“a”、“u”。它让生活更轻松。
其他提示
由于在这两种情况下都使用了闪存,因此我假设闪存要么不解码其读入的文件名,要么对其发布的文件名进行编码(或两者兼而有之)。
需要打开 flash .fla 文件来检查解码/编码。
不隶属于 StackOverflow