2009-06-26 2 views
1

Ich versuche, die Ausgabe eines Sigmazeichen (σ) in einem Etikett in einem Diagramm Fusioncharts angeben. Wie kann ich dieses Zeichen in einer PHP-Zeichenfolge angeben? Ich habe die htmlentity σ versucht, aber es wird nicht richtig von der Grafik interpretiert. Gibt es eine Möglichkeit, das Zeichen in PHP mit einer Art von Zeichencode anzugeben?Wie kann ich ein Sonderzeichen in PHP

Antwort

2

Sie müssen sicherstellen, dass Sie die richtigen Header zu senden, wenn die Ausgabe.

<?php 

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

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

echo $char; 

Dies wird das Zeichen ausgeben.

bearbeiten:

das Zeichen in der Grafik nicht funktioniert, dann funktioniert die Software nicht unterstützt UTF-8 Wenn vorbei.

+0

Ich dachte, das würde funktionieren.Leider bekomme ich immer noch Ausgabe, egal wie ich den Header strukturieren kann. –

+0

Laut der FusionCharts-Dokumentation und den Beispielgrafiken unterstützen sie Unicode –

+0

. Ich kann sie mit dieser Antwort korrekt an den Browser ausgeben, aber ich gebe sie eindeutig nicht korrekt beim Einrichten des XML für das Diagramm an. –

1

"\x1F" für reguläre ASCII-Zeichen arbeiten, aber ich denke, Sigma ein Unicode-Zeichen ist, so dass Sie gehen zu müssen, so etwas wie utf8_encode verwenden. PHP hat eine schlechte Unicode-Unterstützung.

0

Ich konnte chr (229) als auch verwenden, wo 229 der ASCII-Code ist ich suche

+0

Die Extended ASCII-Tabelle gefunden, ich war falsch. Es gibt kein Sigma in ASCII –

2

Das Sigma (σ) durch das Byte sequende xCF x83 (Codepoint U + 03C3) in UTF-8-Codierung dargestellt werden, so dass Sie könnten versuchen, einen PHP-String

$sigma = "\xCF\x83"; 

Aber wie ich don zu bauen Ich kenne FusionChart nicht, ich kann nicht sagen, ob es UTF-8-codierte Strings oder Multi-Byte-Strings im Allgemeinen verarbeiten kann. Nach ihrer Produktbeschreibung, sie tun Unicode-Unterstützung (aber eine UTF-8 BOM erfordern), so dass Sie die XML-Antwort in PHP bauen:

$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; 

Es gibt auch ein Sigma ist (σ) Zeichen in ISO-8859-7 und Windows-1253 (xF3) - aber ich bezweifle, dass dies Ihnen helfen wird.

Die dritte Option wäre die Angabe einer mathematischen Symbolschrift, die das Sigma (σ) einem anderen Zeichen zuordnet.

1

Speichern Sie Ihre .php-Datei als UTF-8 mit BOM aktiviert, und Sie können direkt einen Sigma-Zeichen (σ) verwenden.

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