Flash アップローダー (Uploadify および SwfUpload) - ファイル名の特殊文字に関する問題
-
20-09-2019 - |
質問
フラッシュベースのファイルアップローダーを実装する必要があります。これにより、複数のファイルを一度にアップロードして、進行状況を確認できるようになります。
私は試した アップロードする そして Swfアップロード そして、それらを機能させるのは非常に簡単でした。
ただし、どちらの場合も、ユーザーがファイル名に特殊文字 (デンマーク語の æøå やスウェーデン語の ö など) が含まれているファイルをアップロードしようとすると、問題が発生します。
ファイルは正常にアップロードされますが、ファイル名が間違っています。
- malmö.jpg は malmö.jpg になります
- æblemoster.jpg は æblemoster.jpg になります
もちろん、フラッシュを使用せずにファイルをアップロードスクリプトにフィードしてみましたが、正常に動作しました。つまり、私が知る限り、フラッシュアップロードオブジェクトやJavaScriptがファイルを取得し、何らかの形でファイル名を台無しにしているようです。
誰かが同じようなことに遭遇したことがありますか?そして、おそらくこれを意図したとおりに機能させる方法についてアイデアを持っていますか?
解決
ほとんどのSWFObject入力がUTF8は符号化データを送信し、サーバ側のハンドルISO-8859-1、それらのスクリプトを実行します。クイックフィックス(サーバー側のPHPで動作している場合)の場合は、着信ファイル名にutf8_decode()をしてみてください。
私があなただったら、は、私はすべてのウムラウトをフィルタリングし、その非ウムラウト同等物に変換するか、「O」、「」、「U」について、単純に思うだろう。それは人生が容易になります。
他のヒント
フラッシュが両方の場合に使用されるので、私はフラッシュのいずれか、それがポスト(または両方)のファイル名またはコード読み込むファイル名を復号化しないと仮定します。
1の符号化/復号化を確認するためにフラッシュの.flaファイルを開く必要があります。