最后我不得不用--enable-gd-jis-conv
重新编译PHP。
但是,日文显示错误。
$text = '夏の天気';
$fontfile = '/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf';
return imagettftext ($image, $size, $angle, $x, $y, $color, $fontfile, $text);
但是显示不同的汉字(日文字符)(非常不同,看起来像中文)。
这可能是编码问题吗?
在RHEL 5.4上使用PHP 5.3.3。
答案 0 :(得分:2)
嗯,日语作为一种多字节编码语言有很多怪癖。 首先,确保您的服务器安装了mbstring模块。
其次,为了减少中途可能发生破坏的可能性,请尽量保持站点/项目中的所有编码保持一致:理想情况下,站点视图和源文件应使用相同的编码进行编写。
特别针对您的问题,您可能想尝试使用以下功能:
mb_http_input
http://www.php.net/manual/en/function.mb-http-input.php
这个将确保您的HTTP输入正确编码(即表单数据)。
mb_ internal_ encoding
http://www.php.net/manual/en/function.mb-internal-encoding.php
设置PHP使用的内部编码。
mb_regex_encoding
http://www.php.net/manual/en/function.mb-regex-encoding.php
设置PHP用于正则表达式的编码。
mb_convert_encoding
http://www.php.net/manual/en/function.mb-convert-encoding.php
用于字符串转换。
mb_convert_variables
http://www.php.net/manual/en/function.mb-convert-variables.php
转换整批字符串/数组的编码。
编辑:此外,从模块名称,您可能想尝试将JIS编码数据提供给该功能。
答案 1 :(得分:1)
我必须运行它才能让它工作
$text = mb_convert_encoding('夏の天気', "SJIS", 'UTF-8');
答案 2 :(得分:0)
imagettftext($this->im, 58, 0, 50, 100, $text_color, $font, mb_convert_encoding('佳人', 'UTF8', 'UTF-8'));
这对我有用。似乎可以使用几种不同的日语字体。