zoukankan      html  css  js  c++  java
  • 解决jpgraph中文乱码问题

    在PHP开发使用jpgraph类库生成统计图表时,图表的标题及坐标轴文字出现中文乱码情况,现将解决办法总结如下,仅供参考。

    jpgraph的下载和配置过程省略,直接进入正题:

    (1)修改jpgraph_ttf.inc文件

    在jpgraph的src目录下,找到jpgraph_ttf.inc文件,编辑图中代码(在180行左右),注释掉原有内容,直接返回$aTxt。

     elseif( $aFF === FF_SIMSUN ) {
                 //Do Chinese conversion
              //  if( $this->g2312 == null ) {
                 //  include_once 'jpgraph_gb2312.php' ;
                  //  $this->g2312 = new GB2312toUTF8();
               // }
                //return $this->g2312->gb2utf8($aTxt);
    			return $aTxt;			
            }
    

    (2)下载simsun.ttf格式文件

    自行下载simsun.ttf文件后,放置在jpgraph目录下的src/fonts文件夹里,命名为"FF_SIMSUN.ttf"。

    (3)修改jpgraph_legend.inc文件

    在jpgraph的src目录下,找到jpgraph_legend.inc文件,编辑图中代码,将"FF_DEFAULT"替换为"FF_SIMSUN"。此处注意:变量名要与步骤二中的文件名一致。

    class Legend {
        public $txtcol=array();
        //public $font_family=FF_DEFAULT,$font_style=FS_NORMAL,$font_size=8; // old. 12
    	public $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8; // old. 12
    

    修改完毕,在生成图表时,可直接引用中文并设置其格式,例如:

    $graph->title->Set('销量统计');//标题内容

    $graph->title->SetFont(FF_SIMSUN, FS_BOLD, 15); // 标题格式

    励志照亮人生,编程改变命运~
  • 相关阅读:
    NLP---word2vec的python实现
    matplotlib---Annotation标注
    matplotlib---legend图例
    matplotlib---设置坐标轴
    windows下右键新建md文件
    vue+webpack+npm 环境内存溢出解决办法
    element-ui tree树形组件自定义实现可展开选择表格
    vue-动态验证码
    ES6 数组函数forEach()、map()、filter()、find()、every()、some()、reduce()
    eslint配置文件规则
  • 原文地址:https://www.cnblogs.com/wangcp/p/4332773.html
Copyright © 2011-2022 走看看