partipost المحتوى الصيني
دعونا أولاً نلقي نظرة على كيفية تقديم نموذج النص الإلكتروني:
نسخة الكود كما يلي:
<scriptLanguage = "JavaScript">
stra = "submit1 = submit & text1 = SCSDFSD" ؛
varoreq = newactivexObject ("msxml2.xmlhttp") ؛
Oreq.Open ("post" ، "http: //servername/vdir/tstresult.asp" ، false) ؛
oreq.setRequestHeader ("طول المحتوى" ، stra.length) ؛
oreq.setRequestHeader ("نوع المحتوى" ، "التطبيق/x-www-form-urlencoded") ؛
oreq.send (Stra) ؛
</script>
إذا stra = "submit1 = submit & text1 = SCSDFSD" ؛ يتم استبداله بـ: stra = "submit1 = submit & text1 = inchines" ؛
ستجد أن الشيء المقدم ليس صحيحًا على الإطلاق ، ولا يمكن لـ request.form ("text1") في ASP الحصول على القيمة على الإطلاق. لقد استخدمت طلب. على سبيل المثال ، يتم ترميز "الصينية" على النحو التالي: ٪ D6 ٪ D0 ٪ CE ٪ C4. هاها ، أنا أيضًا غبي جدًا. أنا مكتوب بوضوح في نوع المحتوى-Application/X-WWW-Form-urlencoded ، بالطبع هذا هو ما يبدو عليه Urlencoded. نظرًا لأن هذا هو الحال ، فإننا نعرف أيضًا ما يجب القيام به - قم بالتحويل بنفسك ، انظر الرمز أدناه:
نسخة الكود كما يلي:
POSTRICITURLENCODING (VSTRIN)
streturn = ""
fori = 1tolen (vstrin)
thischr = منتصف (vstrin ، i ، 1)
IFABS (ASC (thischr)) <& hfftthen
streturn = streturn & thischr
آخر
innercode = ASC (thischr)
ifinnercode <0then
innercode = innercode+& H10000
Endif
HIGH8 = (InnerCodeand & HFF00)/& HFF
low8 = InnerCodeand & HFF
Streturn = Streturn & "٪" & Hex (Hight8) و "٪" & Hex (Low8)
Endif
التالي
urlencoding = streturn
الوظيفية
stra = urlencoding ("submit1 = إرسال & text1 = صيني")
oreq = createObject ("msxml2.xmlhttp")
Oreq.Open "post" ، "http: //servername/vdir/tstresult.asp" ، false
oreq.setrequestheader "طول المحتوى" ، لين (شترا)
oreq.setRequestHeader "نوع المحتوى" ، "التطبيق/x-www-form-urlencoded"
oreq.sendstra
</script>
(هنا قمت بتغيير رمز JavaScript السابق إلى Vbscript. لم يكن علي فعل أي شيء بعد أن كنت ممتلئًا. انظر السبب)
الجزء الثاني. عرض بشكل صحيح المحتوى الصيني الذي تم الحصول عليه
حسنًا ، إذا قمت بكتابة محتوى النموذج إلى قاعدة البيانات/الملف على جانب الخادم ، فلا توجد مشكلة مع الصينيين الذين تراهم هناك ، ولكن إذا كنت تريد أن ترى استجابة الخادم - المشكلة هي: إذا كانت نتيجة الاستجابة ليست XML ، بالطبع لا يوجد شيء في XMLHTP.Responsexml ، ثم استخدم مسؤولية ، وإضافة الجدول في نهاية هذا الكود: alert (oreq). انظر إلى نتائج عملنا الشاق.