วันอาทิตย์ที่ 28 เมษายน พ.ศ. 2556

Chartdirector แสดงผลภาษาไทย

Chartdirector
แสดงผลภาษาไทย กรณีที่หน้า Webpage Encode UTF-8 จะไม่มีปัญหาในการแสดงผล
แต่ถ้าเลือกเป็น Windows-874 หรือ TIS-620 จะมีปัญหาในการแสดงกราฟ
วิธีแก้
ใช้
         ICONV('TIS-620','UTF-8',$ตัวแปร)

ตัวอย่าง
$labelsObj = $c->xAxis->setLabels($labels);
$labelsObj->setFontAngle(0);
$labelsObj->setFontColor(0X0000ff );
$labelsObj->setFontStyle("tahoma.ttf", 6);
$title1 =   iconv('TIS-620','UTF-8',"ข้อมูล".$captions);
$c->xAxis2->setTitle($title1, "tahoma.ttf", 18,0X0000ff);
if($chart_type == "line"){
$layer = $c->addLineLayer2();
$layer1 = $c->addLineLayer2();
$layer2 = $c->addLineLayer2();
#Set the default line width to 2 pixels
$layer1->setLineWidth(1);
$layer->setLineWidth(3);
$layer2->setLineWidth(3);
$c->xAxis->setWidth(1);
$dataSetObj = $layer->addDataSet($data1, 0x0000c0, iconv( 'TIS-620','UTF-8',"ข้อมูลปี ".$end_year));
$dataSetObj->setDataSymbol(CircleSymbol, 9, 0xffff00);
$dataSetObj2 = $layer2->addDataSet($data2, $c->dashLineColor(0x00FF00, DashLine),iconv( 'TIS-620','UTF-8',"เทียบกับการใช้ ปี ".($start_year)));
$dataSetObj2->setDataSymbol(CircleSymbol, 8, 0x99FFCC);
$c->addAreaLayer($data3, $c->gradientColor(0, 2000, 00, 5000, 0xFFCCCC, 0xFF3333),iconv( 'TIS-620','UTF-8',"เทียบกับการใช้ ปี ".($start_year)."ลดลงอีก ".$p_energy ."%"));

** ใช้ ICONV() ถ้าใช้ WINDOWS-874 ไม่ต้องเปลี่ยนให้ใช้ TIS-620 อันเดียวเลย

1 ความคิดเห็น: