Maison développement back-end Problème PHP Résumé des solutions associées au problème d'en-tête php tronqué

Résumé des solutions associées au problème d'en-tête php tronqué

Jul 21, 2020 am 11:05 AM
header php

Solution à l'en-tête php tronqué : 1. Ajoutez l'instruction "header("Content-type: text/html; charset=utf-8");" à la page PHP ; pour définir l'encodage de la page ; 3. Unifier l'encodage des pages PHP.

Résumé des solutions associées au problème d'en-tête php tronqué

L'en-tête php résout les problèmes de code tronqué et d'autres problèmes de code tronqué

Recommandé : "Tutoriel PHP

en-tête php pour définir une page php comme encodage utf ou encodage GBK

page php comme encodage utf

header("Content-type: text/html; charset=utf-8");
Copier après la connexion

page php comme encodage gbk

header("Content-type: text/html; charset=gb2312");
Copier après la connexion

La page php est codée en big5

header("Content-type: text/html; charset=big5");
Copier après la connexion

Habituellement, le code ci-dessus est placé sur la page d'accueil de la page php

La différence entre utiliser un en-tête ou une méta pour implémenter l'encodage de page PHP

1. Encodage de page

1. Utilisez la balise l'encodage de la page

Ceci La fonction de la balise est de déclarer quel jeu de caractères l'encodage utilisé par le navigateur du client pour afficher la page xxx peut être GB2312, GBK, UTF-8 (différent de MySQL, qui est UTF8). , etc. Par conséquent, la plupart des pages peuvent utiliser cette méthode pour indiquer au navigateur quel encodage utiliser lors de l'affichage de cette page, afin d'éviter les erreurs d'encodage et les caractères tronqués. Mais parfois, nous constaterons que cette phrase ne fonctionne toujours pas. Quel que soit le nom de xxx, le navigateur utilise toujours le même codage, j'en reparlerai plus tard.

Veuillez noter que appartient aux informations HTML et n'est qu'une déclaration. Cela indique que le serveur a transmis les informations HTML au navigateur.

2. header("content-type:text/html; charset=xxx");

La fonction de cette fonction header() est d'envoyer les informations entre parenthèses au http. en-tête.

Si le contenu entre parenthèses est tel que mentionné dans l'article, la fonction est fondamentalement la même que la balise . Mais la différence est que s’il existe cette fonction, le navigateur utilisera toujours l’encodage xxx que vous avez demandé et ne désobéira jamais, cette fonction est donc très utile. Pourquoi cela se produit-il ? Ensuite, il faut parler de la différence entre l'en-tête HTTPS et les informations HTML :

L'en-tête https est une chaîne envoyée par le serveur avant d'envoyer les informations HTML au navigateur via le protocole HTTP.

Étant donné que la balise méta appartient aux informations HTML, le contenu envoyé par header() atteint le navigateur en premier. Le point populaire est que header() a une priorité plus élevée que meta (je ne sais pas si cela peut être le cas). soit dit). Ajoutez une page php contenant à la fois header("content-type:text/html; charset=xxx") et le navigateur ne reconnaîtra que l'ancien en-tête http et non la méta. Bien entendu, cette fonction ne peut être utilisée qu’au sein des pages PHP.

Il reste également une question : pourquoi le premier fonctionne-t-il définitivement, mais le second ne fonctionne parfois pas ? C'est pourquoi nous voulons ensuite parler d'Apache.

3. AddDefaultCharset

Dans le dossier conf du répertoire racine d'Apache, se trouve l'intégralité du document de configuration d'Apache httpd.conf.

Ouvrez httpd.conf avec un éditeur de texte. La ligne 708 (différentes versions peuvent être différentes) contient AddDefaultCharset xxx, où xxx est le nom d'encodage. La signification de cette ligne de code : définissez le jeu de caractères dans l'en-tête https du fichier de page Web sur l'ensemble du serveur sur votre jeu de caractères xxx par défaut. Avoir cette ligne équivaut à ajouter un en-tête ("content-type: text/html; charset=xxx") à chaque fichier. Vous pouvez maintenant comprendre pourquoi le navigateur utilise toujours gb2312 même si le paramètre méta est utf-8.

S'il y a un en-tête("content-type:text/html; charset=xxx") dans la page Web, le jeu de caractères par défaut sera remplacé par le jeu de caractères que vous avez défini, donc cette fonction sera toujours être utile. Si vous ajoutez un "#" devant AddDefaultCharset xxx, commentez cette phrase et que la page ne contient pas d'en-tête ("content-type..."), alors c'est au tour de la balise méta de prendre effet.

Résumé :

Trions

header("content-type:text/html; charset=xxx") 
AddDefaultCharset xxx 
<META http-equiv="content-type" content="text/html; charset=xxx">
Copier après la connexion

Si vous êtes un programmeur Web, ajoutez un en-tête("content-type: text/html ; charset=xxx"), en vous assurant qu'il peut être affiché correctement sur n'importe quel serveur et qu'il a une forte portabilité.

Quant à la phrase AddDefaultCharset xxx, qu'elle doive être commentée ou non est une question d'opinion. Quoi qu'il en soit, je l'ai commenté, mais je dois aussi écrire header() lors de l'écriture d'une page, afin qu'elle puisse être affichée normalement sur le serveur.

2. Encodage de la base de données

Avant d'interroger la base de données, le programme PHP exécute d'abord mysql_query("SET NAMES xxxx"); (charset= xxxx), si charset=utf8 dans la page web, alors xxxx=utf8, si charset=gb2312 dans la page web, alors xxxx=gb2312, presque tous les programmes WEB ont un code commun pour se connecter à la base de données, qui est placé dans un fichier. Dans ce fichier, ajoutez simplement mysql_query("set names").

SET NAMES 显示客户端发送的 SQL 语句中使用什么字符集。因此,SET NAMES 'utf-8'语句告诉服务器“将来从这个客户端传来的信息采用字符集utf-8”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一 个SELECT语句,它表示列值使用了什么字符集。)

PHP页面编码统一

MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。

  1、MySQL数据库编码:建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。

数据库连接时,也有编码,可以在连接完数据库后,执行

mysql_query(&#39;SET NAMES gbk&#39;);//将gbk换成你的编码,如utf8。
Copier après la connexion

  2、html页面的编码,指的是这一行的设置:

<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
Copier après la connexion

  3、PHP或html文件本身的编码:用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

  4、另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。

iconv(&#39;utf-8&#39;, &#39;gbk&#39;, $content);
Copier après la connexion

5、在PHP程序中,可以加上一行,来指定PHP源程序的编码:

header(&#39;Content-type: text/html; charset=gbk&#39;);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles