我正在尝试在 FusionChart 图中的标签中输出一个 sigma 字符 (σ)。如何在 PHP 字符串中指定该字符?我已经尝试过 htmlentity σ
,但图表没有正确解释它。有没有办法使用某种字符代码在 PHP 中指定字符?
7 回答
"\x1F"
将适用于常规 ASCII 字符,但我认为 sigma 是一个 unicode 字符,所以你将不得不使用类似utf8_encode的东西。PHP 对 Unicode 的支持很差。
您需要确保在输出时发送正确的标头。
<?php
header('Content-Type: text/html; charset=utf-8');
$char = utf8_encode(html_entity_decode('σ'));
echo $char;
这将输出字符。
编辑:
如果将字符传递到图形中不起作用,则该软件不支持 UTF-8。
sigma (σ) 可以通过字节序列xCF x83
(代码点 U+03C3)以 UTF-8 编码表示,因此您可以尝试构建 PHP 字符串
$sigma = "\xCF\x83";
但由于我不了解 FusionChart,我不能说它是否可以处理 UTF-8 编码的字符串或一般的多字节字符串。根据他们的产品描述,他们确实支持 unicode(但需要 UTF-8 BOM),因此您可以在 PHP 中构建 XML 响应:
$response = "\xEF\xBB\xEF<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<root>
<element attribute=\"\xCF\x83\">\xCF\x83</element>
</root>";
header('Content-Type: text/xml; charset=utf-8');
echo $response;
ISO-8859-7 和 Windows-1253 ( ) 中还有一个 sigma (σ) 字符xF3
- 但我怀疑这会对您有所帮助。
第三个选项是指定某种数学符号字体,将 sigma (σ) 映射到其他字符。
我也可以使用 chr(229),其中 229 是我要查找的 ASCII 码
对于 FusionCharts,要在图表中显示小 sigma,请使用 %CF%83。将此百分比编码形式放入 php 字符串中。我试过这个。有用。还可以在此处查看有关使用特殊字符的文档页面:http: //www.fusioncharts.com/docs/Contents/SpChar_Euro.html http://www.fusioncharts.com/docs/Contents/SpChar_Pound.html 等。
将您的 .php 文件保存为启用 bom 的 utf-8 编码,您可以直接使用 sigma 字符 (σ)。
$sXML = "<chart><set value='20' label='σ' /></chart>";
echo renderChartHTML("../FusionCharts/Column2D.swf", "", "$sXML", "myFirst", 600, 300, false);