如何用php打印所有ascii字符的列表?

时间:2016-11-05 15:46:25

标签: php encoding character-encoding

我正在努力打印ascii字符,但当索引到达扩展字符时,它们会出现问号 。 See image

例如,如果我echo chr(160);我认为oA== á 如何在不更改标题字符集或文件编码的情况下获取正确的值?

我正在做以下事情:

for ($i=0; $i < 255; $i++) { 
    echo chr($i) . " - ";
}

我的文件是用utf-8编码的。当我用ISO-8859-1设置标题时显得很好。 See image

header("content-type: text/html; charset=ISO-8859-1");

我试图只打印一个角色。看看会发生什么: 1- See the value of the variable and how to print in the browser.

2- See the value of the variable and how to print in the browser. 为什么变量得到那个奇怪的值。

3 个答案:

答案 0 :(得分:1)

您最常将字符转换为UTF-8:

for ($i=0; $i < 255; $i++) {
    echo mb_convert_encoding (chr($i), 'UTF-8', 'ISO-8859-1') . " - ";
}

答案 1 :(得分:1)

我可以使用功能utf8_encode解决我的疑问,该功能将ISO-8859-1字转换为UTF-8。 :)感谢您的帮助。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Document</title>
</head>
<body>
<?php  

    for ($i=0; $i < 255; $i++) { 
        echo utf8_encode( chr($i) );
    }

?>

</body>
</html>

答案 2 :(得分:0)

您也可以尝试这种方式,

<?php
 for ($i=0; $i < 255; $i++) { 
    //echo chr($i) . " - ";
    echo mb_convert_encoding('&#' . intval($i) . ';', 'UTF-8', 'HTML-ENTITIES')." - ";
 }
?>