2009-06-26 3 views
1

Я пытаюсь вывести символ сигмы (σ) в метку в графе FusionChart. Как я могу указать этот символ в строке PHP? Я пробовал htmlentity σ, но он не интерпретируется правильно графиком. Есть ли способ указать символ в PHP, используя какой-то код символа?Как задать специальный символ в PHP

ответ

2

Вы должны убедиться, что вы отправляете правильные заголовки при выводе.

<?php 

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

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

echo $char; 

Это выдаст символ.

Edit:

Если передавая символ в графе не работает, то программное обеспечение не поддерживает UTF-8.

+0

Я думал, что это сработает.К сожалению, я все еще получаю вывод σ, независимо от того, как мне удается структурировать заголовок. –

+0

Согласно документации FusionCharts и графам примеров, они поддерживают Unicode –

+0

. Я могу получить его корректно в браузере, используя этот ответ, однако я явно не уточняю его правильно при настройке xml для диаграммы. –

1

"\x1F" будет работать для обычных символов ASCII, но я думаю, что сигма является юникода характер, так что вы будете иметь, чтобы использовать что-то вроде utf8_encode. У PHP низкая поддержка Unicode.

0

я мог бы использовать Chr (229), а также, где 229 является ASCII-код Я ищу

+0

расширенный ASCII таблицу я нашел неправильно. В ASCII нет сигмы –

2

сигма (σ) может быть представлено в UTF-8 кодировкой на байт sequende xCF x83 (элемент кода U + 03C3), так что вы могли бы попытаться построить РНР снабжать струной, тетивой и т.п.

$sigma = "\xCF\x83"; 

Но, как я не Не знаю FusionChart, я не могу сказать, может ли он обрабатывать закодированные строки UTF-8 или многобайтовые строки в целом. Согласно их описанию продукта, они поддерживают Unicode (, но требуют UTF-8 BOM), так что вы можете построить ответ XML в PHP:

$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 (xF3) - но я сомневаюсь, что это вам поможет.

Третий вариант заключается в том, чтобы указать какой-то шрифт математического символа, который отображает сигма (σ) на какой-либо другой символ.

1

Для FusionCharts, чтобы показать небольшую сигма в графике, используйте% CF% 83. Поместите эту процентную кодированную форму в строку php. Я пробовал это. Оно работает. Также проверьте страницы документации по использованию специальных символов здесь: http://www.fusioncharts.com/docs/Contents/SpChar_Euro.html http://www.fusioncharts.com/docs/Contents/SpChar_Pound.html т.д.

1

Сохраните файл .php как UTF-8 с BOM кодированием включен, и вы можете использовать непосредственно сигма характер (а).

$sXML = "<chart><set value='20' label='σ' /></chart>"; 
echo renderChartHTML("../FusionCharts/Column2D.swf", "", "$sXML", "myFirst", 600, 300, false);