1

私は次の www.mywebsite.com/upload/server/php/files/foto/test/Aston_Martin_DBS_V12_coupé_(rear)_b-w.jpg を持っています

このファイルは、スクリプトを通じてアップロードされます。ファイルはサーバー上に存在します。ただし、URL に特殊文字 (é) が含まれているため、いくつかの問題が発生しています。

サーバー上のファイル名Aston_Martin_DBS_V12_coup%C3%A9_(rear)_b-w.jpgは です。これは正しいです。ただし、どういうわけか私のブラウザ (Chrome) は、このページを UTF-8 ではなく ISO-8859-1 として要求します。

したがって、404 が返されます。 ここに画像の説明を入力

jQueryファイルアップロードプラグインを使用しています。

4

3 に答える 3

1

ここから回答を削除し、新しく書きました:

通常、Web サイトには、標準外の文字を含むファイルは含まれていません。ファイルは通常、非標準文字を削除しており、その文字が同様の標準文字 (ポーランド語の ą から a、ś から s) に置き換えられることがあります。たとえば、手動でファイルの名前を変更したり、ファイルがたくさんある場合は、サーバー上のファイル名のその文字を削除/置換するbashまたはphpスクリプトを使用するだけです。

とにかく、元のファイル名を使用する必要がある場合は、ISO からデコードして UTF8 にエンコードする必要があります。

ここでそのphpコードフラグメントを見てください:

特殊文字を含む HTTP ファイルを提供する方法

于 2012-10-03T18:14:15.667 に答える
-1

ファイル名に文字コードが含まれている場合は%、URL でそれらをエンコードする必要があります。アクセスしてみるAston_Martin_DBS_V12_coup%25C3%25E9_(rear)_b-w.jpg

于 2012-10-03T18:12:27.993 に答える