1) L'utilisation de la page de paramètres d'étiquette codant le rôle de cette étiquette est de déclarer le navigateur du client avec quel code de caractère pour afficher la page, xxx peut être GB2312, GBK, UTF-8 (contrairement à MySQL, MySQL est UTF8) et ainsi de suite. Par conséquent, la plupart des pages peuvent être utilisées de cette façon pour dire ..."
1) Utilisez l'étiquette pour configurer le codage de page
Le but de cette balise est de déclarer quel jeu de caractère set encodage du navigateur du client utilise pour afficher la page, xxx peut être GB2312, GBK, UTF-8 (contrairement à MySQL, MySQL est UTF8), et ainsi de suite. Par conséquent, la plupart des pages peuvent être utilisées de cette façon pour indiquer au navigateur quel codage est utilisé lors de l'affichage de la page, de sorte qu'il ne provoque pas d'erreurs de codage et brouillés. Mais parfois, nous allons constater qu'avec cette phrase ou non, peu importe quel genre de xxx, le navigateur est toujours une sorte de codage, cette situation dont je parle plus tard.
Notez que c'est des informations HTML, juste une déclaration, et indique seulement que le serveur a transmis des informations HTML au navigateur.
2) en-tête ("content-type:text/html; charset sxxx");
La fonction de l'en-tête() fonction est d'envoyer les informations dans la parenthèse à l'en-tête http. Si le contenu des supports tel qu'indiqué dans le texte, que l'effet et l'étiquette est essentiellement le même, nous comparons le premier regard pour constater que les caractères sont similaires. Mais la différence est que si vous avez cette fonction, le navigateur sera toujours utiliser l'encodage xxx que vous avez demandé, et ne désobéira jamais, de sorte que cette fonction est très utile. Pourquoi est-ce ainsi? Alors dites la différence entre l'en-tête http et les informations HTML:
L'en-tête http est une chaîne de mots envoyés par le serveur au navigateur en transmettant des informations HTML sur le protocole http. L'étiquette est l'information HTML, de sorte que le contenu envoyé par l'en-tête() atteint le navigateur en premier, et le point populaire est que (en-tête) prend la priorité sur (je ne sais pas si vous pouvez dire que). Si une page php a les deux en-têtes ("content-type:text/html;" et "charset-xxx"), le navigateur reconnaît l'en-tête http de l'ancien et non le méta. Bien sûr, cette fonction ne peut être utilisée que dans la page php.
Il ya aussi la question de savoir pourquoi le premier est absolument au travail, et le second n'a parfois pas? C'est pourquoi l'Apache est le prochain.
3) Charset AddDefault
Dans le dossier conf de la racine Apache, il y a un document de configuration pour l'ensemble d'Apache, httpd.conf.
Ouvrez httpd.conf avec l'éditeur de texte, et sur la ligne 708 (différentes versions peuvent être différentes) il ya AddDefaultCharset xxx, qui est le nom de code. Ce que signifie cette ligne de code : Définir le jeu de caractères dans le fichier Web http header pour l'ensemble du serveur comme ensemble de caractères xxx par défaut. Avec cette ligne, c'est équivalent à l'ajout d'une ligne d'en-tête à chaque fichier ("type de contenu:texte/html); charset sxxx") ) . Ce sous-jacent comprend pourquoi il est clair que le paramètre est utf-8, mais le navigateur utilise toujours gb2312.
S'il y a un en-tête sur la page ("content-type:text/html; charset-xxx), modifiez le caractère par défaut réglé pour le définir de caractère que vous avez réglé, de sorte que cette fonction est toujours utile. Si vous mettez l'AddDefault Charset xxx sur le devant, commentez la phrase, et la page ne n'go sans l'en-tête ("type de contenu..."), alors c'est au tour de la méta tag.
Les priorités ci-dessus sont énumérées ci-dessous :
en-tête ("content-type:text/html; charset sxxx")
.. Charset AddDefault xxx
..
Si vous êtes un programmeur web, il est recommandé d'ajouter un en-tête à chacune de vos pages ("content-type:text/html; charset-xxx) pour s'assurer qu'il est affiché correctement sur n'importe quel serveur et portable.
4) La configuration par défaut-charset dans php.ini:
La valeur par défaut dans le php.ini définit le caractère de langue par défaut défini pour php. Il est généralement recommandé de commenter cette ligne, permettant au navigateur de sélectionner automatiquement une langue basée sur le charset dans l'en-tête de la page au lieu de faire une règle obligatoire, de sorte que les services Web en plusieurs langues peuvent être fournis sur le même serveur.