php image_jpeg لا تعمل إذا كان الملف UTF-8 ، يعمل إذا كان ANSI
-
02-10-2019 - |
سؤال
أستخدم هذا الفئة للمحاصيل ، وتغيير حجم صورتي: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؟
شكرا للمساعدة!
المحلول
هل ربما تقوم بحفظ الملفات كـ UTF8 بوم؟ من المحتمل أن يؤدي ذلك إلى زيادة إخراج الصورة ، حيث يتم إخراج حرف BOM دائمًا أولاً. حاول حفظه على أنه UTF8 NO-BOM ، يجب أن يكون ذلك مطابقًا لملفات ANSI.