2013-09-23 29 views
2
  • 我有一個包含文件夾內的圖片「N」字符像Navideño-4.jpg.如何打印N於IMG源在PHP

  • 我創建了一個腳本,打印所有圖像,但如果圖像有N個剛剛燒焦它打印Navide%C3%B1o-4.jpg

下面是腳本:

function show($path){ 
    $files = glob($path.'*'); 
    natcasesort($files); 
    foreach($files as $file) { 
      echo ' <br/> <img src="' . $file . '" /> <br/>'; 
    } 
} 

和c所有它想:

show('images/navidad/'); 

我怎麼能顯示PHP IMG源裏面ñ字符,我曾嘗試用urlencode,urldecode .. 但沒有成功

+0

什麼是你的PHP版本? – baldrs

+0

這是PHP版本5.2.17 – cMinor

+0

然後它可能是一個編碼問題。嘗試將LC_ALL設置爲utf-8 – baldrs

回答

1

嘗試:

header('Content-Type: text/html; charset=utf-8'); 
$test="Navideño-4.jpg"; 
echo htmlspecialchars($test); 
-3

我只是想用PHP 5.4版代碼。 16,它對我來說工作得很好。

我認爲它的PHP版本問題。請檢查您的PHP版本的phpinfo()

1

您可以嘗試

$test = "Navideño-4.jpg"; 
echo utf8_decode($test); 

$test = utf8_encode("Navideño-4.jpg"); 
echo utf8_decode($test); 
+0

嘗試過並獲得:''和''...而不是'' – cMinor

1

您可以使用pathinfourlencode顯示圖像。

function show($path){ 
    $files = glob($path.'*'); 
    natcasesort($files); 
    foreach($files as $file) { 
     $path_parts = pathinfo($file);    
     echo ' <br/> <img src="' . $path_parts['dirname'] . '/' . urlencode($path_parts['basename']) . '" /> <br/>'; 
    } 
} 
0

您可以使用utf8_decode

echo ' <br/> <img src="' . utf8_decode($file) . '" /> <br/>';