、E/S/C/R/Z/Y /áの特殊文字をエンコードしません。はutf8_encodeは、私は何の解決策を持っていないようだと、私は絶対にうんざりしています次のような問題を持っているなど
私は、ユーザーが自分のサーバーにファイルをアップロードすることができ、その後、彼らはそれらにアクセスすることができますAndroidアプリケーションを持っています。ユーザーが自分のアカウントを開くと、このアプリケーションは機能scandir()
を使用し、私のサーバーでは、方法json_encode()
を使用して自分のアプリケーションにデータを送信し、彼のファイルとフォルダを表示します。 そしてここで問題です:
例のアップロードのためのいくつかのユーザーが特殊文字(VálcovánístupHovitýchvzorko ZA tepla.pptx)によるファイルと、このファイルは、UTF-8でエンコードされていない場合、私はそれを渡すことはできません私はUTF-8エラーが発生するので、json_encode経由で。だから私は方法uf8_encode()
を各ファイル名に使用しようとしました。č/š/ě/ð/á/ý/í/éなどの特殊文字を含むファイルやフォルダがある場合は、となります。とそれにはutf8_encode()
というメソッドを使用すると、アプリケーションに何らかの混乱が起き、名前がfolderのフォルダを取得する代わりに、名前が取得されます。
htmlspecialchars()
からiconv()
までほぼすべてを試しましたが、サーバーに適切な名前のファイルとフォルダを返す方法が見つかりません。
'č'のutf-8エンコーディングは 'c4 8d'です。あなたが 'Ä'を取得した場合、それは* utf-8でエンコードされている可能性がありますが、そのように扱われているわけではありません。 'Ä'のUnicodeは 'c4'です。 – fishinear