2009-06-26 42 views
1

我試圖在FusionChart圖形的標籤中輸出西格瑪字符(σ)。我如何在PHP字符串中指定該字符?我已經嘗試過這種情況σ,但圖形沒有正確解釋它。有什麼方法可以使用某種字符代碼在PHP中指定字符?如何在PHP中指定特殊字符

回答

2

你需要確保你輸出時發送正確的頭。

<?php 

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

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

echo $char; 

這將輸出字符。

編輯

如果傳遞字符到圖形不工作,則該軟件不支持UTF-8。

+0

中沒有西格瑪,我認爲這是行得通的。不幸的是,我仍然得到σ的輸出,不管我如何設計頭結構。 – 2009-06-26 15:30:16

1

"\x1F"將定期ASCII字符的工作,但我認爲西格瑪是一個Unicode字符,所以你將不得不使用像utf8_encode。 PHP的Unicode支持很差。

0

我可以使用CHR(229),以及,其中229是ASCII碼我在尋找

+0

我找到的擴展ASCII表是錯誤的。在ASCII – 2009-06-26 15:08:16

2

西格瑪(σ)可以在UTF-8編碼的字節sequende表示xCF x83(代碼點U + 03C3),所以你可以嘗試建立一個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(xF3)中 - 但我懷疑這會對你有幫助。

第三種選擇是指定某種數學符號字體​​,將σ(σ)映射到其他字符。

1

保存您的PHP文件與啓用BOM UTF-8編碼,並且可以直接採用Σ字符(σ)。

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