Contenu chinois du partit
Voyons d'abord comment le formulaire E-Text est soumis:
La copie de code est la suivante:
<criptLanguage = "JavaScript">
stry = "soumid1 = soumed & text1 = scsdfsd";
varoreq = newActiveXObject ("msxml2.xmlhttp");
oreq.open ("Post", "http: //servername/vdir/tsstreult.asp", false);
Oreq.SetRequestHeader ("Content-Length", Stra.Length);
Oreq.SetRequestHeader ("Content-Type", "Application / X-Www-Form-Urlencoded");
Oreq.Send (STR);
</cript>
Si stry = "soumises 1 = soumis et text1 = scsdfsd"; est remplacé par: stry = "soume1 = soume & text1 = chinois";
Vous constaterez que la chose soumise n'est pas du tout correcte, et la demande.form ("text1") dans ASP ne peut pas du tout obtenir la valeur. J'ai utilisé request.binaryread pour écrire le contenu du post dans un HTMLForm et le lire, puis j'ai trouvé le problème - le formulaire doit également être codé lors de la soumission, et le chinois codé est un caractère échappé similaire à% ??% ??. Par exemple, le «chinois» est codé comme:% d6% d0% ce% c4. Haha, je suis aussi très stupide. Je suis clairement écrit dans le contenu - application / x-www-form-urlencoded, bien sûr, c'est à quoi ressemble Urlencoded. Comme c'est le cas, nous savons également quoi faire - faire la conversion vous-même, voir le code ci-dessous:
La copie de code est la suivante:
Fonctionurlencoding (vstrin)
strreturn = ""
Fori = 1Tolen (vstrin)
Thischr = mid (vstrin, i, 1)
Ifabs (asc (thischr)) <& hffthen
Streturn = Strreturn & Thischr
Autre
innercode = ASC (ThisChr)
Ifinnercode <0
innercode = innercode + & h10000
Endire
High8 = (innercodeand & hff00) / & hff
Low8 = Innercodeand & HFF
Streturn = Strreturn & "%" & Hex (Hight8) & "%" & Hex (Low8)
Endire
Suivant
Urlencoding = Streturn
Finition de fin
Stra = UrLencoding ("Soumide1 = soumider & text1 = chinois")
oreq = createObject ("msxml2.xmlhttp")
oreq.open "Post", "http: //servername/vdir/tsstreult.asp", false
Oreq.SetRequestHeader "Content-Length", Len (STR)
Oreq.SetRequestHeader "Content-Type", "Application / X-WWW-Form-Urlencoded"
Oreq.Senndstra
</cript>
(Ici, j'ai changé le code JavaScript précédent en VBScript. Je n'ai rien eu à faire après avoir été plein. Voir la raison)
Partie II. Affichez correctement le contenu chinois obtenu
Ok, si vous écrivez le contenu du formulaire dans la base de données / fichier côté serveur, il n'y a pas de problème avec les Chinois, vous voyez là-bas, mais si vous voulez voir la réponse du serveur - le problème est: si le résultat de la réponse n'est pas XML, bien sûr, il n'y a rien dans la phrase à la fin du code: allert (Oreq.ResSponson. Regardez les résultats de notre travail acharné.