PHP生成图片文字报错“imagettftext(): any2eucjp(): invalid code in input string”解决办法

2019-08-02 PHP 2636

PHP生成图片文字报“imagettftext(): any2eucjp(): invalid code in input string” 解决办法

  • 直接使用【推荐】

mb_convert_encoding ('string', 'HTML-ENTITIES', 'UTF-8');
  • 文字使用下面的函数转换一下即可

	function to_entities($string){
        $len = strlen($string);
        $buf = "";
        for($i = 0; $i < $len; $i++){
            if (ord($string[$i]) <= 127){
                $buf .= $string[$i];
            } else if (ord ($string[$i]) <192){
                //unexpected 2nd, 3rd or 4th byte
                $buf .= "&#xfffd";
            } else if (ord ($string[$i]) <224){
                //first byte of 2-byte seq
                $buf .= sprintf("&#%d;",
                    ((ord($string[$i + 0]) & 31) << 6) +
                    (ord($string[$i + 1]) & 63)
                );
                $i += 1;
            } else if (ord ($string[$i]) <240){
                //first byte of 3-byte seq
                $buf .= sprintf("&#%d;",
                    ((ord($string[$i + 0]) & 15) << 12) +
                    ((ord($string[$i + 1]) & 63) << 6) +
                    (ord($string[$i + 2]) & 63)
                );
                $i += 2;
            } else {
                //first byte of 4-byte seq
                $buf .= sprintf("&#%d;",
                    ((ord($string[$i + 0]) & 7) << 18) +
                    ((ord($string[$i + 1]) & 63) << 12) +
                    ((ord($string[$i + 2]) & 63) << 6) +
                    (ord($string[$i + 3]) & 63)
                );
                $i += 3;
            }
        }
        return $buf;
    }
  • 网上有说,是编译php的时候 --enable-gd-jis-conv 开启这个选项 导致,但是我重新编译后,依然未解决,可能姿势不对

0