ECCubeで統計表示エラー改修
ECcubeの売上統計画面でエラーがでていた
Warning: imagettftext() [function.imagettftext]: No character set found in /var/www/eccube-2.3.4/data/class/graph/SC_GraphBase.php on line 298
$text = mb_convert_encoding($text, "EUC-JP", CHAR_CODE);
//$text = mb_convert_encoding($text, CHAR_CODE);
if($color != NULL) {
ImageTTFText($this->image, $font_size, $angle, $left, $top + $font_size, $color, FONT_PATH, $text);
} else {
ImageTTFText($this->image, $font_size, $angle, $left, $top + $font_size, $this->text_color, FONT_PATH, $text); #ここがエラーになっている。
}
Character setがないとあるで、
sudo ln -s /usr/share/fonts/truetype/ttf-japanese-gothic.ttf /var/www/eccube-2.3.4/data/fonts/
と別のフォントをdata/fontsに置く。
そして/var/www/eccube-2.3.4/data/class/graph/SC_GraphBase.phpの
/** TTFフォントファイル */
define("FONT_PATH", DATA_PATH . "fonts/wlmaru20044.ttf");
↓
define("FONT_PATH", DATA_PATH . "fonts/ttf-japanese-gothic.ttf");
とすると見えるようになった。
元々のソースがそうなのか分からないけど、画像の文字が文字化けしていたので、
$text = mb_convert_encoding($text, "EUC-JP", CHAR_CODE);
↓
$text = mb_convert_encoding($text, CHAR_CODE);
にした。