Question

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="conn.asp"-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Le code ci-dessus est-il correct?

Était-ce utile?

La solution

Oui.

UTF-8 est CP65001 dans Windows (ce qui n’est qu’un moyen de spécifier UTF-8 dans les éléments de page de code hérités). Autant que je sache, ASP peut gérer UTF-8 quand cela est spécifié.

Autres conseils

Votre code est correct bien que je préfère définir le jeu de caractères en code plutôt que d'utiliser la balise meta: -

<% Response.CharSet = "UTF-8" %>

La page de codes 65001 fait référence au jeu de caractères UTF-8. Assurez-vous que votre page ASP (et tous les inclus) sont enregistrés au format UTF-8 s’ils contiennent des caractères extérieurs au jeu de caractères ASCII standard.

En spécifiant l'attribut CODEPAGE dans le bloc <% @, vous indiquez que tout ce qui est écrit à l'aide de Response.Write doit être codé dans la page de codes spécifiée, dans ce cas 65001 (utf-8). Cela vaut la peine de garder à l’esprit que cela n’affecte pas le contenu statique qui est envoyé octet pour octet à la réponse. C’est la raison pour laquelle le fichier doit effectivement être enregistré à l’aide de la page de codes spécifiée.

La propriété CharSet de la réponse définit la valeur CharSet de l'en-tête Content-Type. Cela n'a aucun impact sur la manière dont le contenu doit être encodé. Il indique simplement au client quel encodage est reçu. Encore une fois, il est important que sa valeur corresponde au codage réellement envoyé.

Oui, 65001 est l'identificateur de page de code Windows pour UTF-8, comme indiqué sur le site Web de Microsoft . Wikipedia suggère que la page de code IBM 128 et la page de code SAP 4110 sont également des indicateurs pour UTF-8.

response.codepage = 65001

semble donner de mauvais résultats lorsque le fichier physique est enregistré en tant que fichier utf-8

Sinon, cela fonctionne comme prévu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top