Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
日语中的PHP gd文本显示很奇怪_Php_Unicode_Gd - Fatal编程技术网

日语中的PHP gd文本显示很奇怪

日语中的PHP gd文本显示很奇怪,php,unicode,gd,Php,Unicode,Gd,最后,我不得不用重新编译PHP——启用gd jis conv。 但是,在日语中,文本显示是错误的 $text = '夏の天気'; $fontfile = '/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf'; return imagettftext ($image, $size, $angle, $x, $y, $color, $fontfile, $text); 但是显示的是不同的汉字(日语字符)(非常不同,看起来像汉语)

最后,我不得不用
重新编译PHP——启用gd jis conv
。 但是,在日语中,文本显示是错误的

$text = '夏の天気';
$fontfile = '/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf';

return imagettftext ($image, $size,  $angle,  $x,  $y,  $color, $fontfile, $text);
但是显示的是不同的汉字(日语字符)(非常不同,看起来像汉语)

这可能是编码问题吗


在RHEL5.4上使用PHP5.3.3。

好吧,日语作为一种多字节编码语言有很多怪癖。 首先,确保您的服务器安装了mbstring模块

第二,为了减少中途中断的可能性,尽量保持站点/项目中所有编码的一致性:站点视图和源文件最好使用相同的编码编写

特别针对您的问题,您可能希望尝试使用以下函数:

mb\u http\u输入

这将确保您的HTTP输入正确编码(即表单数据)

mb_uuu内部编码

设置PHP使用的内部编码

mb_regex_编码

设置PHP用于正则表达式的编码

mb\u convert\u编码

用于字符串转换

mb\u转换变量

转换整批字符串/数组的编码


编辑:此外,根据模块名称,您可能希望尝试将JIS编码的数据提供给函数

好吧,日语作为一种多字节编码的语言有很多怪癖。 首先,确保您的服务器安装了mbstring模块

第二,为了减少中途中断的可能性,尽量保持站点/项目中所有编码的一致性:站点视图和源文件最好使用相同的编码编写

特别针对您的问题,您可能希望尝试使用以下函数:

mb\u http\u输入

这将确保您的HTTP输入正确编码(即表单数据)

mb_uuu内部编码

设置PHP使用的内部编码

mb_regex_编码

设置PHP用于正则表达式的编码

mb\u convert\u编码

用于字符串转换

mb\u转换变量

转换整批字符串/数组的编码


编辑:此外,根据模块名称,您可能希望尝试将JIS编码的数据提供给函数

我必须运行它才能让它工作

$text = mb_convert_encoding('夏の天気', "SJIS", 'UTF-8');

我必须运行它才能让它工作

$text = mb_convert_encoding('夏の天気', "SJIS", 'UTF-8');
这对我有用。用几种不同的日文字体似乎都能用


这对我有用。似乎可以使用几种不同的日语字体。

您的输入编码是什么,服务器输入配置是什么?由于日本人可以使用UTF-8使用多种类型的编码(EUC、JIS、SJIS、UTF8),
mb\u内部编码(“UTF-8”)
。输入由Emacs utf8编码。您的输入编码是什么?您的服务器输入配置是什么?由于日本人可以使用UTF-8使用多种类型的编码(EUC、JIS、SJIS、UTF8),
mb\u内部编码(“UTF-8”)
。输入是由Emacs utf8编码的。为了专注于gd测试并避免一些其他副作用,文本目前直接输入php代码中(夏の天気).
mb_internal_coding('utf-8')
是在开头设置的。肯定缺少一些简单的东西-可能是字体错误?(在RHEL英语系统上,
yum install fonts japanese
)。为了专注于gd测试并避免一些其他副作用,文本目前直接输入php代码中(夏の天気).
mb_internal_coding('utf-8')
是在开头设置的。肯定缺少一些简单的东西-可能是字体错误?(在RHEL英语系统上,
yum install fonts japanese
)。@NR请检查答案-是不是相同?@NR请检查答案-是不是相同?