Série de conférences ASP (vingt-deux) utilisant des sites internationaux
Auteur:Eve Cole
Date de mise à jour:2009-05-30 19:58:30
L'un des avantages de la publication de messages sur Internet ou sur un intranet est que vous pouvez créer un site Web international auquel les utilisateurs peuvent accéder depuis différents pays (régions). Les utilisateurs peuvent demander des pages Web localisées dans la langue locale et les lire à l'aide de la version localisée du navigateur. Lors de la création d'un site Web contenant des pages Web dans plusieurs langues, vous devez convertir les chaînes transmises entre le navigateur et le serveur Web ou entre le script ASP et les composants ActiveX. Par exemple, si un navigateur japonais envoie une valeur de chaîne de formulaire ou de requête dans une requête HTTP, cette chaîne doit être convertie du jeu de caractères japonais du navigateur en jeu de caractères utilisé par ASP pour traiter le script.
Si toutes les pages du site Web sont écrites dans le jeu de caractères par défaut utilisé par le serveur Web, ASP effectuera automatiquement la conversion. Toutefois, si la page Web est écrite dans un autre jeu de caractères, vous devez utiliser les commandes ASP pour spécifier comment convertir la chaîne. Par exemple, si votre site comporte à la fois des pages de jeu de caractères japonais et des pages de jeu de caractères chinois, vous devez spécifier le jeu de caractères utilisé par ASP lors du traitement d'une page particulière.
ASP fournit également des commandes qui prennent en charge les conventions culturelles de différentes régions, telles que les formats de devise, d'heure et de date. Comme pour la commande de conversion de chaîne, utilisez la commande locale si votre script n'utilise pas les paramètres régionaux par défaut du serveur Web.
Définition de la page de codes de conversion de chaîne Une page de codes est une table interne que le système d'exploitation utilise pour mapper des symboles (lettres, chiffres et signes de ponctuation) en numéros de caractères. Différentes pages de codes prennent en charge les jeux de caractères utilisés par différents pays (régions). Les pages de codes sont référencées par des chiffres ; par exemple, la page de codes 932 représente le jeu de caractères japonais et la page de codes 950 représente le jeu de caractères chinois traditionnel.
Active Server Pages et le moteur de script ActiveX utilisent en interne Unicode, une norme de codage de caractères de longueur fixe de 16 bits. Si vous écrivez toutes les pages qui utilisent la page de codes par défaut du serveur Web, ASP convertira automatiquement les chaînes. Si votre script n'utilise pas la page de codes par défaut du serveur Web, vous devez indiquer la page de codes utilisée afin que les chaînes soient converties correctement lorsqu'elles sont transmises entre ASP et le moteur de script. De plus, vous pouvez spécifier la page de codes pour les chaînes transmises entre le navigateur et le script, ou entre les composants ActiveX et le script.
Pour spécifier une page de codes pour une page ASP, utilisez la directive CODEPAGE. Par exemple, pour définir la page de codes japonaise, utilisez la commande suivante :
<%@ CODEPAGE= 932 %>
Lorsque ASP traite le contenu et les scripts de cette page, il utilise la page de codes que vous spécifiez pour déterminer comment convertir les caractères du script du jeu de caractères de votre script en Unicode. Par exemple, une valeur représentant la lettre « a » en ANSI sera convertie en une valeur différente représentant la lettre « a » en Unicode.
Active Server Pages suppose que la page de codes des chaînes transmises entre le serveur et le navigateur ou entre un script et un composant ActiveX est identique à la page de codes que vous avez définie pour le script. Pour spécifier une page de codes différente, vous pouvez remplacer le paramètre CODEPAGE en définissant la propriété Session.CodePage. Par exemple, vous écrivez des scripts à l'aide de JIS, mais vous répondez à des clients qui utilisent UTF-8 (JIS et UTF-8 sont deux codages de caractères différents du jeu de caractères japonais standard).
Session.CodePage est défini par défaut sur la valeur de la directive CODEPAGE ; la définition de cette propriété remplacera le paramètre CODEPAGE actuel. Par exemple, pour modifier la page de codes en chinois traditionnel, utilisez la commande suivante :
<% Session.CodePage = 950 %>
Si vous ne modifiez que temporairement la page de codes d'une partie du script, veillez ensuite à définir Session.CodePage sur la valeur d'origine. Le script suivant montre comment modifier temporairement la page de codes :
<!-- Bienvenue sur ma page d'accueil en japonais, page de codes 932 --!>
<%@Page de Code = 932 %>
...
<% Session("OriginalCodePage") = Session.CodePage %>
<!-- Rechercher le nom en chinois, page de codes 950 --!>
<% Session.CodePage = 950 %>
<% Expéditeur = ReadMailHeader("Expéditeur") %>
<% Trouvé = FindFriend("Expéditeur") %>
<!-- Restaurer la page de codes d'origine --!>
<% Session.CodePage = Session("OriginalCodePage") %>
<% Si trouvé == VRAI
RépondreAvecPersonalizedForm()
autre
RépondreAvecBusinessForm()
%>
La définition du site d'identification du site est un ensemble d'informations sur les préférences de l'utilisateur liées à la langue de l'utilisateur. Déterminez sur place comment formater les dates et les heures, les éléments ; comment trier par ordre alphabétique et comment comparer les chaînes. L'identification du site (LCID) est une valeur de 32 bits qui définit de manière unique un site. Si vous ne spécifiez pas de paramètres régionaux différents pour le script, ASP utilise les paramètres régionaux par défaut du serveur Web.
Pour définir l'identification du contexte d'une page ASP, utilisez la directive LCID. Par exemple, pour configurer un site japonais, utilisez l'ID de site suivant :
<%@LCID = 1041 %>
La directive LCID indique à ASP les paramètres régionaux dans lesquels écrire le script. Si vous souhaitez modifier le contexte d'entrée ou de sortie d'un script, utilisez la propriété Session.LCID. Par exemple, pour définir les paramètres régionaux sur le français standard, utilisez la commande suivante :
<% Session.LCID = 1036 %>
Le paramètre par défaut de Session.LCID est le paramètre de la directive LCID. La définition de la valeur de Session.LCID dans un script remplacera le paramètre par défaut.