2009-11-18 22 views
2

我需要實現一個基於閃存的文件上傳器,這將允許我一次上傳多個文件並查看進度。我試過UploadifySwfUpload,讓他們工作很容易。Flash上​​傳(Uploadify和SwfUpload) - 文件名中有特殊字符的問題

但是,對於我遇到的問題,當用戶嘗試上傳文件時,其文件名有特殊字符(例如丹麥語或瑞典語ö--以及其他我確信)。

文件上傳罰款,但文件名被搞砸了:

  • malmö.jpg成爲malmö.jpg
  • æblemoster.jpg成爲Ã|blemoster.jpg

我有當然嘗試將文件提供給我的上傳腳本而不使用閃光燈 - 然後它們工作正常。因此,從我所知道的情況來看,Flash上​​傳對象和/或JavaScript抓取文件 - 並以某種方式將文件名搞定。

有沒有人遇到類似的東西 - 也許有一個想法,我可以如何使這項工作按預期?

+0

你已經檢查過字符編碼嗎? – Eineki 2009-11-18 23:09:45

+0

你使用什麼服務器端編程語言?問題很可能是它通過所有步驟使用不正確的字符編碼。 – BalusC 2009-11-18 23:12:45

+0

這是一個經典的ASP網站,oldschool。服務器是IIS6 - 但我不認爲這很重要。 – Kjensen 2009-11-19 09:40:09

回答

3

SWFObject輸入最有可能發送UTF8編碼數據,並且服務器端的腳本將它們處理爲ISO-8859-1。爲了快速修復(如果您在服務器端使用PHP),請在傳入文件名上嘗試utf8_decode()。

如果我是你,我會考慮簡單地過濾出所有的變音,並將它們轉換爲它們的非變元等值或「o」,「a」,「u」。它使生活更輕鬆。

+0

+1對於角色替換的好主意! – 2009-11-18 23:15:26

+0

好吧,我們Krauts和斯堪的納維亞人,我們每天都有...... :) – 2009-11-18 23:18:59

0

由於在這兩種情況下都使用了閃光燈,我假設閃光燈不是解碼它所讀入的文件名或是編碼它發佈的文件名(或兩者)。

需要打開flash.fla文件來檢查解碼/編碼。