如果文件是UTF-8,PHP image_jpeg不工作,如果它是ANSI,则工作

时间:2010-07-03 01:49:07

标签: php utf-8 image-manipulation ansi

我使用此类裁剪,调整图像大小: http://www.phpclasses.org/package/4268-PHP-Resize-crop-rotate-flip-flop-and-grey-images.html

它使用GD。问题是我例如这样做:

$img = new ImageTransform;
$img->view('resize', 'foo.jpg', '500x400', true); // true argument is $cache = true

现在我可以指出

<img src="that_script.php" alt="" />
,它会显示图片已调整大小。 但如果我的所有文件都是UTF-8,它就不会!只有它们都是ANSI编码的。如果某些或所有文件都是UTF-8编码,则不会显示图像。 如果我删除标题..然后让它打印所有的东西......我可以看到所有有趣的人物...所以它打印的东西! 但它只是不会用标题打印实际图像......

在PHP文档中,我发现有人写这个: http://no.php.net/manual/en/function.imagejpeg.php#96796

  

警告使用utf-8脚本的人:   在像我一样疯狂一整天并挖掘配置文件等之前。

     

使用image_jpeg直接浏览器输出仅在我用ANSI而不是utf-8

保存脚本后才起作用

所以它一定是PHP的错误?我使用PHP版本:5.3.2

没有人在PHPClasses抱怨错误,所以我不认为这是班级。但是PHP的东西。 问题是如何使其与UTF-8一起使用?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您是否可以将文件保存为UTF8 BOM?这可能会搞砸图像输出,因为BOM字符总是先输出。尝试将其保存为UTF8 No-BOM,它应该与ANSI文件相同。