Flash上​​传器(Uploadify和SwfUpload) - 文件名中的特殊字符问题

时间:2009-11-18 23:07:25

标签: javascript jquery file-upload uploadify swfupload

我需要实现一个基于flash的文件上传器,这样我就可以一次上传多个文件并查看进度。

我尝试了UploadifySwfUpload,让他们上班非常容易。

然而,对于我遇到问题,当用户尝试上传文件时,文件名具有特殊字符(例如Danishæøå或sweedishö - 以及其他我肯定的)。

文件上传很好,但文件名搞砸了:

  • malmö.jpg成为malmö.jpg
  • æblemoster.jpg成为Ã| mermoster.jpg

我当然尝试将文件提供给我的上传脚本而不使用闪存 - 然后它们工作正常。所以从我所知道的,flash上​​传对象和/或javascript抓取文件 - 并以某种方式将文件名固定。

有没有人遇到过类似的事情 - 也许我对如何按预期进行此项工作有所了解?

2 个答案:

答案 0 :(得分:3)

SWFObject输入很可能发送UTF8编码数据,服务器端的脚本将其作为ISO-8859-1处理。要快速修复(如果您在服务器端使用PHP),请对传入的文件名尝试utf8_decode()。

如果我是你,我会考虑简单地过滤掉所有变音符号并将它们转换为非变形等值或“o”,“a”,“u”。它让生活更轻松。

答案 1 :(得分:0)

由于在两种情况下都使用闪存,我认为闪存要么不解码它读取的文件名,要么编码它发布的文件名(或两者)。

需要打开flash .fla文件来检查解码/编码。