2013-09-23 28 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/>';