ブラウザでギリシャ語のファイル名(例:'φωτογραφία.jpg')の画像を表示するのに問題があります。このスクリプトを使用して、ブラウザで正しく表示されるファイル名を取得できるように、iconv()で使用する必要がある2つのエンコーディングを見つけました。ただし、画像自体はレンダリングに失敗します。
<?
$file = 'φωτογραφία.jpg';
$encodings = array("UTF-8", "ASCII", "Windows-1253", "ISO-8859-1", "UTF-16");
$iconv = "";
foreach ($encodings as $i) {
foreach ($encodings as $j) {
if($j!==$i) $iconv .= "<br /> $i -> $j: ".iconv($i, $j, $file);
}
}
echo $iconv;
?>
ここにある作業リンク。UTF-8->Windows-1253から変換するときに正しいファイル名を再調整します。
環境はApache/2.2.22(Unix)上のPHP 5.2.17であり、ファイルはWindowsマシンからアップロードされています。現在、テストPHPファイルにハードコーディングして2〜3枚の画像のみをテストしました。ファイル名がデータベースクエリから取得された場合は異なると思いますか?