如果要从CLI PHP脚本输出一个Unicode十进制或十六进制字符,PHP如何生成它?chr()
函数似乎不能生成正确的输出。以下是我的测试脚本,使用节(Section Break)字符U+00A7(十六进制为A7,十进制为167,应表示为UTF-8中的C2 A7)作为测试:
<?php
echo "Section sign: ".chr(167)."\n"; // Using CHR function
echo "Section sign: ".chr(0xA7)."\n";
echo "Section sign: ".pack("c", 0xA7)."\n"; // Using pack function?
echo "Section sign: §\n"; // Copy and paste of the symbol into source code
我通过 SSH 连接服务器后得到的输出如下:
Section sign: ?
Section sign: ?
Section sign: ?
Section sign: §
所以,这证明我正在使用的终端字体中具有分节符号,并且SSH连接成功地发送了它,但是chr()
在从代码编号构造它时没有正确构造它。
如果我只有代码编号而没有复制/粘贴选项,我有哪些选择?