php image_jpeg لا تعمل إذا كان الملف UTF-8 ، يعمل إذا كان ANSI

StackOverflow https://stackoverflow.com/questions/3170000

سؤال

أستخدم هذا الفئة للمحاصيل ، وتغيير حجم صورتي: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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top