أفضل طريقة:
اسمحوا لي أن أتحدث عن الأساسيات أولاً:
<٪@ codepage = 65001 ٪> UTF-8
<٪@ codepage = 936 ٪> صينية مبسطة
<٪@ codepage = 950 ٪> الصينية التقليدية
<٪@ codepage = 437 ٪> الولايات المتحدة
<٪@ codepage = 932 ٪> اليابانية
<٪@ codepage = 949 ٪> الكورية
<٪@ codepage = 866 ٪> الروسي
يحدد CodePage ما هو الكود الذي يقرأ السلسلة التي تم تمريرها (تقديم النموذج ، تسليم شريط العنوان ، إلخ).
سبب الرمز المشهور هو أن ترميز الوحدة يختلف عندما يحتاج الموقع إلى دمج.
تمامًا مثل مدونتي ، ستحدث هذه المشكلة عند الاندماج لأن المدونة هي من UTF-8.
في الآونة الأخيرة ، كان العديد من مستخدمي الإنترنت يتشاورون مع هذه المسألة ، وقد جربت العديد من الأساليب.
الطريقة الأكثر ملاءمة هي كما يلي:
لا تقم بتحويل أي صفحة ويب وحدة ترميز UTF-8 أو UTF-8 ، و GB22312 أو GB2312
في وثائق حزمة وحدة UTF-8 (مثل conn.asp ، ولكن كن على علم بأن Conn.asp يجب أن يتم استدعاؤه على السطر الأول) أضف السطر الأول.
<٪@language = "vbscript" codepage = "65001" ٪>
<٪ session.codepage = 65001 ٪>
أضف أمام مستند الحزمة من وحدة GB2312
<٪@language = "vbscript" codepage = "936" ٪>
<٪ session.codepage = 936 ٪>
ترميزات أخرى وهلم جرا.
التحويل بين الأحرف الصينية و UTF-8 في ASP
'================== تحويل الأحرف الصينية إلى UTF-8 ===========================
وظيفة صينية 2unicode (STR)
لأني = 1 إلى لين (str)
str_one = mid (str ، i ، 1)
str_unicode = str_unicode & chr (38)
str_unicode = str_unicode & chr (35)
str_unicode = str_unicode & chr (120)
str_unicode = str_unicode & hex (ASCW (str_one))
str_unicode = str_unicode & chr (59)
التالي
choacher2Unicode = str_unicode
وظيفة نهاية
'================== UTF-8 تم تحويلها إلى أحرف صينية ===========================
وظيفة UTF2GB (UTFSTR)
للحفر = 1 إلى لين (UTFSTR)
إذا كان منتصف (utfstr ، حفر ، 1) = "٪" ثم
إذا كان LEN (UTFSTR)> = DIG+8 ثم
GBSTR = GBSTR و Invchinese (Mid (UTFSTR ، DIG ، 9))
حفر = حفر+8
آخر
GBSTR = GBSTR & MID (UTFSTR ، DIG ، 1)
إنهاء إذا
آخر
GBSTR = GBSTR & MID (UTFSTR ، DIG ، 1)
إنهاء إذا
التالي
UTF2GB = GBSTR
وظيفة نهاية
وظيفة مقنعة (x)
أ = انقسام (منتصف (x ، 2) ، "٪")
أنا = 0
J = 0
لأني = 0 إلى أوبوند (أ)
A (i) = C16TO2 (A (I))
التالي
لأني = 0 إلى Ubund (A) -1
الحفريات = instr (a (i) ، "0")
unicode = ""
لـ J = 1 إلى Digs-1
إذا J = 1 ثم
a (i) = right (a (i) ، len (a (i))-Digs)
Unicode = Unicode & A (i)
آخر
i = i+1
a (i) = right (a (i) ، len (a (i))-2)
Unicode = Unicode & A (i)
إنهاء إذا
التالي
إذا كان LEN (C2TO16 (UNICODE)) = 4 ثم
Convchinese = Convchinese & CHRW (int ("& H" & C2TO16 (Unicode))))
آخر
Convchinese = Invchinese & CHR (int ("& H" & C2TO16 (Unicode))))
إنهاء إذا
التالي
وظيفة نهاية
الدالة C2TO16 (X)
أنا = 1
لأني = 1 إلى Len (x) الخطوة 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X ، I ، 4))))
التالي
وظيفة نهاية
الدالة C2TO10 (x)
C2TO10 = 0
إذا كان x = "0" ثم الخروج وظيفة
أنا = 0
لأني = 0 إلى len (x) -1
إذا كان منتصف (x ، len (x) -i ، 1) = "1" ثم C2TO10 = C2TO10+2^(i)
التالي
وظيفة نهاية
الدالة C16TO2 (X)
أنا = 0
ل I = 1 إلى Len (Trim (x))
Tempster = C10To2 (Cint (int ("int (" & h "& mid (x ، i ، 1))))))