只是为了记录 - 我在这里的第一个问题,但希望不是我在社区的最后一个输入.但这不是我在这里的原因.
我目前正在开发一个简单的系统,必须生成一个带有文本的图像.Everthing进展顺利,直到我意识到GD无法处理UTF-8字符
ā,č,ž,ä,ø,é
等等.
要清理 - 我正在使用imagettftext()
试图解决我的问题我深入谷歌并返回了一些解决方案,遗憾的是,他们都没有完全解决我的问题.目前我正在使用我在这个线程中找到的脚本 - PHP函数imagettftext()和unicode
private function properText($text){
// Convert UTF-8 string to HTML entities
$text = mb_convert_encoding($text, 'HTML-ENTITIES',"UTF-8");
// Convert HTML entities into ISO-8859-1
$text = html_entity_decode($text,ENT_NOQUOTES, "ISO-8859-1");
// Convert characters > 127 into their hexidecimal equivalents
$out = "";
for($i = 0; $i < strlen($text); $i++) {
$letter = $text[$i];
$num = ord($letter);
if($num>127) {
$out .= "&#$num;";
} else {
$out .= $letter;
}
}
return $out;
}
Run Code Online (Sandbox Code Playgroud)
并且它适用于某些字符但不是所有字符,例如,变音符号未正确转换. …