Si le programme ASP se trouve sur le même site et qu'il existe un programme codé UTF-8 et un programme codé GB2312, après avoir parcouru la page codée UTF-8 puis parcouru la page GB2312 du site Web actuel, la page codée GB2312 apparaîtra. Caractères tronqués
Le problème est que lorsque vous parcourez l'encodage UTF-8, le serveur utilise le moteur UTF-8 pour générer du HTML par défaut. Lorsque vous parcourez la page GB2312, il utilise toujours UTF-8 pour afficher l'encodage GB2312. La page sera tronquée. .
Ce problème m'a dérangé toute la matinée, et finalement l'idéal bleu a été résolu.
Tout d'abord, examinons les quatre propriétés fournies par l'objet Session.
1.CodePage lecture/écriture. Type entier.
Définit la page de codes utilisée pour afficher le contenu de la page dans le navigateur. Une page de codes est la valeur numérique d'un jeu de caractères, et différentes langues et emplacements peuvent utiliser différentes pages de codes. Par exemple, la page de codes ANSI 1252 est utilisée pour l'anglais américain et la plupart des langues européennes. La page de codes 932 est utilisée pour les caractères japonais. (C'est l'attribut que nous allons utiliser ici)
2. Lecture/écriture LCID. Type entier.
Définit l'identifiant de paramètres régionaux de page (LCID) envoyé au navigateur. LCID est une abréviation standard internationale qui identifie de manière unique une région. Par exemple, 2057 définit le symbole monétaire de la région actuelle comme « £ ». LCID peut également être utilisé dans des instructions telles que FormatCurrency, à condition qu'il existe un paramètre LCID facultatif. Le LCID peut également être défini dans la directive de traitement ASP <%...%> et est prioritaire sur le paramètre de l'attribut LCID de la session. Une liste des instructions de traitement ASP est fournie plus loin dans ce chapitre.
3.SessionID est en lecture seule. Type long.
Renvoie l'identifiant de session de cette session, généré par le serveur lors de la création de la session. Unique uniquement pendant la durée de vie de l'objet Application parent, il peut donc être réutilisé au démarrage d'une nouvelle application
4. Timeout lecture/écriture. Type entier.
Définit le délai d'expiration en minutes pour cette session. Si l'utilisateur n'actualise pas ou ne demande pas de page Web dans le délai d'expiration, la session se termine. Il peut être modifié dans chaque page Web selon les besoins. La valeur par défaut est 10 minutes. Ce temps devrait être plus court sur les sites à forte fréquentation !
Voici quelques pages de codes ANSI couramment utilisées :
<%@codepage=65001%>UTF-8
<%@ codepage=936%>Chinois simplifié
<%@ codepage=950%>Chinois traditionnel
<%@ codepage=437 %>Anglais États-Unis/Canada
<%@ codepage=932 %>Japonais
<%@ codepage=949 %>Coréen
<%@ codepage=866 %>Russe
Parlons maintenant des méthodes et des utilisations pour résoudre le problème.
Ajoutez le code suivant au fichier partagé conn.asp utilisé dans le programme du site Web :
1. Ajouté à la page d'encodage Gb2312
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Session.CodePage=936%>
Enfin, ajoutez-en plus
<%Response.charset = "BG2312"%>
2. Ajoutez <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> à la page d'encodage utf-8
<%Session.CodePage=65001%>
<%Response.charset = "utf-8"%>
C'est la méthode la plus simple et la plus efficace.