هل هناك بعض HTTP تحصل على استجابة يمكنني إضافتها لإصلاح مشكلة الترميز على متصفح ويب العميل؟
-
01-10-2019 - |
سؤال
لدي خادم ويب مضمن مكتوب في C باستخدام مكتبات UIP ، في متحكم ، والذي يخرج النص الثابت التالي استجابةً للحصول على HTTP. يظهر أدناه كسلسلة حرفية C:
"HTTP/1.0 200 OK\r\n"
"Server: UIP/1.0 (http://www.something.com/)\r\n"
"Content-type: text\html\r\n"
مباشرة بعد ذلك تأتي سلسلة doctype و ... u003C/html> جسم الصفحة المطلوبة. لم أكتب هذا الرمز ، لكن تم تسليمه لي. الآن أحاول ذلك على Opera و Firefox و Internet Explorer. تستخدم صفحة الويب بأكملها ANSI/C ولا توجد سلاسل خاصة أو بايت. لكنه يتم تحميله ويعرض بشكل صحيح فقط على الأوبرا. لسبب ما ، لن يتم عرض مشاجرة الويب المعتمدة على UIP على IE 8 أو Firefox.
! [نص بديل] [1
ما الذي يمكنني إضافته إلى رؤوس HTTP لجعل ترميز خادم الشبكات الصغيرة الخاصة بي من Codepage C/ANSI الأساسي/ANSI يتم اكتشافه بشكل صحيح لجميع المتصفحات ، وليس فقط الأوبرا؟
المحلول
حاول استبدال نصك الثابت لهذا النحس:
"HTTP/1.0 200 OK\r\n"
"Server: UIP/1.0 (http://www.something.com/)\r\n"
"Content-type: text/html; charset=utf-8\r\n"
ملاحظة : حرف backslash ('') هو حرف esacpe ، في سلسلة ثابتة ، فعلت " h" مع "النص html"
ملاحظة : جزء "charset = utf-8" مفيد فقط إذا كانت ملفاتك UTF-8 تشفير