سؤال

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

هل الحق رمز أعلاه؟

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

المحلول

نعم.

وUTF-8 هو CP65001 في ويندوز (والذي هو مجرد وسيلة لتحديد UTF-8 في مخطط الشفرة الاشياء القديمة). بقدر ما قرأت ASP يمكن التعامل مع UTF-8 عندما المحدد بهذه الطريقة.

نصائح أخرى

وكود الخاص بك هو الصحيح على الرغم من أنني أفضل أن تعيين محارف في التعليمات البرمجية بدلا من استخدام العلامة الوصفية: -

<% Response.CharSet = "UTF-8" %>

وهذا مخطط الشفرة 65001 لا تشير إلى مجموعة الأحرف UTF-8. قد تحتاج أن تأكد من أن صفحة ASP (وأي يشمل) يتم حفظها كما UTF-8 إذا كانت تحتوي على أية أحرف خارج مجموعة أحرف ASCII القياسية.

وعن طريق تحديد السمة CODEPAGE في <٪ @ منع كنت مشيرا إلى أن أي شيء مكتوب باستخدام Response.Write يجب ترميز إلى مخطط محدد، في هذه الحالة 65001 (UTF-8). في تحمل قيمتها في الاعتبار أن هذا لا يؤثر على أي محتوى ثابت التي يتم إرسالها بايت الحرفي للبايت إلى الاستجابة. وبالتالي سبب لماذا يتم حفظها الاحتياجات ملف فعلا باستخدام مخطط الشفرة المحدد.

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

نعم، 65001 هو معرف صفحة الرموز ويندوز لUTF-8، كما هو موثق <لأ href = "http://msdn.microsoft.com/en-us/library/dd317756٪28VS.85٪29.aspx" يختلط = "noreferrer نوفولو"> على موقع ويب Microsoft . ويكيبيديا يشير أن الشفرة IBM 128 ورمز SAP الصفحة 4110 هي أيضا مؤشرات UTF-8.

response.codepage = 65001

ويبدو أن يعطي نتيجة سيئة عند حفظ ملف فعلي ك UTF-8

وإلا، فإنه يعمل كما هو المفترض أن.

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