سؤال

لدي ملف UTF-8 ترميز في Windows ، وعندما أستخدمه ضمن Windows ، فإنه يظهر بشكل صحيح ، ولكن عندما أقوم بنسخ الملف في Linux ، تكون أحرف Unicode giberish. الملف هو textfile عادي. كيف يمكنني جعل هذا الملف قابلاً للقراءة في Linux ، أو كيف يمكنني نسخه بشكل صحيح ؟؟

شكرا لك مقدما

هل كانت مفيدة؟

المحلول

يبدو وكأنه مشكلة Apache/PHP

هل تقوم بتشغيل سلاسلك من خلال طريقة HTMLSpecialChars المدمجة في PHP (أو ما شابه)؟ إذا كان الأمر كذلك ، فقد تحتاج إلى تبديل ترميزه إلى UTF8

بدلاً من htmlspecialchars($mytext), ، جرب استخدام htmlspecialchars($mytext, ENT_COMPAT, 'UTF-8')


لاحظ أن ما يلي (إجابتي السابقة) غير صحيح ، حيث يلاحظ Michael Burr ، UTF-8 لا يحتاج أو يستخدم BOM.

إذا كان النص مجرد نص ، فهناك فرصة في عداد المفقودين لعلامة ترتيب البايت (BOM) ، أو يتم ترميزها مع BOM غير صحيحة.

إذا كان هذا غير صحيح ، فقد يكون قارئ Linux يكرم ذلك ولكن قارئ Windows الخاص بك يتجاهله. حاول إعادة فتح ملفك في شيء مثل Notepad ++ وإعادة بيعه. يحتوي Notepad ++ على مجموعة من الخيارات في قائمة التنسيق حول حفظ ملفات UTF-8.

نصائح أخرى

تأكد من نقل الملف في الوضع الثنائي. حاول أيضا iconv.

الملف نفسه على ما يرام. شيء آخر في الأنبوب هو تشويش النص قبل إرساله إلى المتصفح. صدى النص في نقاط مختلفة في التطبيق لتحديد العملية التي تحطمها.

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