原創|其它|編輯:郝浩|2012-11-09 16:22:15.000|閱讀 1665 次
概述:要使用Flash圖表組件FusionCharts中的多語言屬性,需運用UTF-8編碼的XML。值得注意的一點是,XML文件/流需要一個BOM(字節順序標記-表明一個文件中是否包含UTF-8編碼字符串)作為文件的頭三個字節。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
要使用Flash圖表組件 FusionCharts 中的多語言屬性,需運用UTF-8編碼的XML。值得注意的一點是,XML文件/流需要一個BOM(字節順序標記-表明一個文件中是否包含UTF-8編碼字符串)作為文件的頭三個字節。所以,請記住兩個最基本的規則:
沒有BOM標記,圖表中會產生一些異常數據,如下圖:
有BOM標記
無BOM標記
1、向靜態XML文件中添加BOM
對于一次性生成的靜態XML文件,可以手動添加一個BOM標記,這個方法適用于用dataURL方法檢索文件中數據的時候,你只需要確保文件中包含帶有BOM標記的XML數據。如果沒有,就要添加一個BOM進去。步驟如下:
如圖所示:
2、用服務器端腳本動態生成XML
要用服務器端腳本生成XML,有以下兩種方法:
以下是不同語言添加BOM的方式:
ASP.NET C#
Response.ContentType = "text/xml; characterset=utf-8" ; Response.BinaryWrite( new byte[] { 0xEF, 0xBB, 0xBF } // Now write your XML data to output stream
ASP.NET VB
Response.ContentType = "text/xml" Dim UTFHeader() As Byte = {&HEF, &HBB, &HBF} Response.BinaryWrite(UTFHeader) // Now write your XML data to output stream
PHP
header ( 'Content-type: text/xml' ); echo pack ( "C3" , 0xef, 0xbb, 0xbf ); // Now write your XML data to output stream
ASP
Response.AddHeader "Content-Type", "text/xml;charset=UTF-8" Response.CodePage = 65001" Response.BinaryWrite( chrb(239) ) Response.BinaryWrite( chrb(187) ) Response.BinaryWrite( chrb(191) ) // Now write your XML data to output stream
J2EE
response.setContentType( "text/xml; charset=UTF-8" ); OutputStream outs = response.getOutputStream(); outs.write( new byte[]{(byte)0xEF, (byte)0xBB, (byte)0xBF} ); outs.flush(); // Now write your XML data to output stream
CodeFusion
context = getPageContext(); response = context.getResponse().getResponse(); out = response.getOutputStream(); out.write(239); out.write(187); out.write(191); // Now write your XML data to output stream
ROR
utf8_arr = [0xEF,0xBB,0xBF] utf8_str = utf8_arr.pack("c3") # Now write your XML data to output stream
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件