使用VBA输出时,以下符号在MS Excel电子表格中打印良好:
Sub print_chrw_sub()
Dim a1
a1 = "&H27E6"
ActiveCell.Offset(1).Value = ChrW(a1)
Dim a2
a2 = "&H27E7"
ActiveCell.Offset(2).Value = ChrW(a2)
End Sub
输出:
⟦
⟧
但是,当我在PHP代码中使用符号时,sybols看起来像代码中的方块以及Web浏览器 - 也在上面的当前用法中。例如:
<?php
echo $str1 = "⟧"
?>
我使用的是UTF-8编码。
另一方面,以下sybols在PHP代码和Web浏览器中正确打印:
CHRW(安培; H22A4)
输出:
⊤
CHRW(安培; H22A5)
输出:
⊥
感谢您的帮助。
答案 0 :(得分:1)
您引用为chrW(&H27E7)
的字符称为Mathematical right white square bracket(或U+27E7
)。
当它显示在Excel中时,显示的字体可能是Calibri或Arial,但这些字体实际上不支持此字符。
那就是font substitution介入的地方:提供一个能正确处理字符的字体
如果您查看this page,您会看到系统中哪些字体实际支持U+27E7
。在我的系统上只有两个:Cambria Math和Segoe UI Symbol。
如果看到方形符号(□),则表示字体替换无法正常工作。对于PHP源代码,它并不是很重要,因为实际存在正确的字符(假设编码设置正确)。
对于HTML代码,您应该考虑设置一个您知道支持此字符的字体,请记住,本地字体(已安装的字体)在两个系统之间存在很大差异。您可能希望使用CSS font-face来提供网络字体。