ما يمكن ان تذهب الخطأ إذا كنت تحويل ANSI ملفات الترميز إلى UTF-8?

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

  •  11-07-2019
  •  | 
  •  

سؤال

أنا موجود ASP.NET 2.0 الموقع المخزنة في Team Foundation Server 2005.بعض الصفحات/ضوابط يتم ترميز ANSI (وفقا Notepad++) و رأس نوع محتوى تم تعيين:

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>

أود أن تغيير جميع صفحات إلى UTF-8 ، وبالتالي فإن رأس نوع محتوى إلى:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

بخلاف تغيير الفوقية عنصر أفترض أنا أيضا بحاجة إلى تغيير ترميز جميع الملفات.يمكنني أن أفعل هذا في المفكرة++ على الرغم من إذا كان أي شخص لديه أي أسرع الطرق, يرجى ذكرها.

أي نوع من المشاكل التي قد أواجهها عندما يتعلق الأمر بدمج/مقارنة في TFS ؟

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

المحلول

ذلك يعتمد على كيفية الكثير من النص في برنامج يستخدم أحرف خارج ASCII النطاق من 0..127.

قد ترغب في فحص تلك الأولى ، لمعرفة مدى أثر ذلك.إذا كان لديك تعليمات البرمجة الأساسية في المقام الأول في اللغة الإنجليزية ، ثم ربما كنت لا تملك كثيرا ما يدعو للقلق.

نصائح أخرى

كنت أود كتابة السيناريو بايثون

for fn in os.listdir(srcdir):
    data = open(srcdir+"\\"+fn, "rb").read().decode("windows-1252")
    data = data.replace("charset=windows-1252", "charset=utf-8")
    open(srcdir+"\\"+fn, "wb").write(data.encode("utf-8"))

التحديث من محارف يفترض أن هذه سلسلة محددة لن تحدث في أماكن أخرى ؛ يمكنك جعله أكثر قوة عن طريق التحقق من أطول سلسلة ، التحقق من ما إذا كان النص القديم موجود بالفعل في الملف تفعل السليم تحليل XML ، إلخ.

قد تحتاج إلى وضع UTF-8 التوقيع أمام UTF-8 ترميز البيانات ؛ يمكنك العثور على واحد في الترميز.BOM_UTF8

أنا لا أعرف ما نتيجة هذا التغيير TFS.

شيء مفيد أنا فقط اكتشفت أنه يمكنك النقر بزر الماوس الأيمن على ملف مصدر Explorer التحكم ، ثم اختر خصائص.ثم يمكنك رؤية/تعديل ترميز بقدر TFS هو المعنية.

اختيار ملف يحتوي على حرف فوق 0-127 ASCII مجموعة.فتح باستخدام المفكرة اختر حفظ باسم ثم اختر UTF-8 ترميز.ثم انظر إذا كان الحرف هو تحويلها بنجاح.

أتمتة عملية, يمكنك كتابة تطبيق يقوم بتحويل جميع الملفات من ASCII إلى UTF-8 ، باستخدام 1252 كما كود الصفحة.إذا لم يكن لديك الأحرف أعلاه 127, كنت لا داعي للقلق حول كل هذه.

هذا ليس صحيحا بالضرورة.أنا لا أعرف عن ASP.net لكننا جميعا لدينا php الترميز هنا في Ansi وخدمة صفحات في UTF8.كل ما لدينا من معلومات قاعدة البيانات يتم تخزينها في UTF8 كذلك.

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