2
  • 我在一个包含“ñ”字符的文件夹中有图像Navideño-4.jpg.

  • 我创建了一个脚本来打印所有图像,但如果图像有 ñ char 它只会打印 Navide%C3%B1o-4.jpg

这是脚本:

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

并称之为:

show('images/navidad/');

如何在 php 中的 img 源代码中显示 ñ char,我尝试过 urlencode、urldecode.. 但没有成功

4

5 回答 5

1

尝试:

header('Content-Type: text/html; charset=utf-8');
$test="Navideño-4.jpg";
echo htmlspecialchars( $test );
于 2013-09-23T08:01:16.690 回答
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/>';
    }
}
于 2013-09-23T05:39:03.780 回答
1

你可以试试

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

或者

$test = utf8_encode("Navideño-4.jpg");
echo utf8_decode($test);
于 2013-09-23T04:59:38.897 回答
0

您可以使用 utf8_decode

echo ' <br/> <img src="' .  utf8_decode($file) . '" /> <br/>';
于 2013-09-23T06:55:59.933 回答
-3

我刚刚使用 php 版本 5.4.16 尝试了您的代码,它对我来说工作正常。

我认为这是您的 php 版本问题。请使用 phpinfo() 检查您的 php 版本

于 2013-09-23T04:57:19.233 回答