给定一个Unicode十进制或十六进制数字,希望从CLI PHP脚本输出一个字符,PHP如何生成它? chr()
函数似乎不会生成正确的输出。这里是我的测试脚本,使用分节符字符U + 00A7作为测试(A7十六进制,167十进制,应在UTF-8被表示为C2 A7):PHP构造一个Unicode字符串?
<?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会话服务器)是:
所以,这证明了我使用的终端字体中有节间隔字符和SSH连接沿着发送成功,但chr()
ISN”从代码编号构造它时,应该正确地构造它。
如果我得到的只是代码编号而不是复制/粘贴选项,我有什么选择?
一个很好的方法就是首先编写UTF-8中的PHP文档。迈克尔;优秀的答案, – 2010-09-13 21:34:38
并感谢功能!我为自己创建了一个类似于使用pack函数而非chr的类似的东西。比利,为了这个特定的目的,我需要从一个代码点到一个角色;使用已经嵌入的字符编写UTF-8的PHP脚本不是一种选择。 – MidnightLightning 2010-09-13 22:10:32