1

我正在尝试在 FusionChart 图中的标签中输出一个 sigma 字符 (σ)。如何在 PHP 字符串中指定该字符?我已经尝试过 htmlentity σ,但图表没有正确解释它。有没有办法使用某种字符代码在 PHP 中指定字符?

4

7 回答 7

2

"\x1F"将适用于常规 ASCII 字符,但我认为 sigma 是一个 unicode 字符,所以你将不得不使用类似utf8_encode的东西。PHP 对 Unicode 的支持很差。

于 2009-06-26T15:00:57.850 回答
2

您需要确保在输出时发送正确的标头。

<?php

header('Content-Type: text/html; charset=utf-8'); 

$char = utf8_encode(html_entity_decode('&sigma;'));

echo $char;

这将输出字符。

编辑

如果将字符传递到图形中不起作用,则该软件不支持 UTF-8。

于 2009-06-26T15:15:02.313 回答
2

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 (σ) 映射到其他字符。

于 2009-06-26T16:39:28.267 回答
1

关于什么:

html_entity_decode('&sigma;');

html_entity_decode 的 PHP 手册

于 2009-06-26T15:00:35.010 回答
1

我也可以使用 chr(229),其中 229 是我要查找的 ASCII 码

于 2009-06-26T15:03:46.550 回答
1

对于 FusionCharts,要在图表中显示小 sigma,请使用 %CF%83。将此百分比编码形式放入 php 字符串中。我试过这个。有用。还可以在此处查看有关使用特殊字符的文档页面:http: //www.fusioncharts.com/docs/Contents/SpChar_Eur​​o.html http://www.fusioncharts.com/docs/Contents/SpChar_Pound.html 等。

于 2009-06-27T07:38:40.247 回答
1

将您的 .php 文件保存为启用 bom 的 utf-8 编码,您可以直接使用 sigma 字符 (σ)。

    $sXML = "<chart><set value='20' label='σ' /></chart>";
echo renderChartHTML("../FusionCharts/Column2D.swf", "", "$sXML", "myFirst", 600, 300, false);
于 2009-07-14T16:33:51.073 回答