Maison développement back-end Problème PHP Comment résoudre le problème de requête php tronquée

Comment résoudre le problème de requête php tronquée

Oct 20, 2020 am 09:39 AM
request

La solution à la requête php tronquée : ouvrez d'abord le fichier server.xml de Tomcat ; puis définissez l'attribut de l'élément "URIEncoding="UTF-8"".

Comment résoudre le problème de requête php tronquée

Recommandé : "Tutoriel vidéo PHP"

demande, réponse Problèmes et solutions de code tronqué chinois

Le code tronqué de la requête fait référence à : les paramètres de requête envoyés par le navigateur au serveur contiennent des caractères chinois, et la valeur du paramètre de requête obtenue par le serveur est tronquée

la réponse est tronquée ; le code fait référence à : Les données envoyées par le serveur au navigateur contiennent des caractères chinois et le navigateur affiche des caractères tronqués

La raison des caractères tronqués : qu'il s'agisse de caractères tronqués ou de requêtes ; réponse caractères tronqués, cela est en fait causé par le client. Cela est dû à l'incohérence entre le format d'encodage utilisé par le navigateur et le serveur. Prenons l'exemple de la requête tronquée : le navigateur envoie une requête au serveur. Étant donné que la communication entre le navigateur et le serveur est essentiellement un flux de socket, les paramètres de la requête (caractères) doivent d'abord être convertis en octets, ce qui correspond au processus de codage. . Le serveur reçoit. Les paramètres de la requête sont décodés (octets convertis en caractères) puis encapsulés dans l'objet de la requête. Si le codage du client n'est pas cohérent avec le décodage du serveur, la valeur du paramètre de requête obtenu via la requête sera tronquée.

Solution :

1. La réponse est tronquée

Les données envoyées par le serveur au navigateur sont codées conformément à la norme ISO-8859-. 1 par défaut, et le navigateur le reçoit. Après avoir reçu les données, elles sont décodées selon le jeu de caractères par défaut et affichées. Si le jeu de caractères de décodage par défaut du navigateur n'est pas ISO-8859-1, des caractères tronqués apparaîtront.

Pour les réponses tronquées, il vous suffit de spécifier un jeu de caractères d'encodage côté serveur, puis d'informer le navigateur de décoder en fonction de ce jeu de caractères. Il existe trois manières :

1. A. Définir l'encodage côté serveur

response.setCharacterEncoding("utf-8");

La valeur par défaut est ISO-8859; -1; La méthode doit être définie avant réponse.getWriter()

B. Informer le navigateur du format des données envoyées par le serveur

réponse.setHeader("contentType", "text/ html; charset=utf- 8");

2. A. Informer le navigateur du format des données envoyées par le serveur

response.setContentType("text/html;charset=utf- 8");

Équivalent à réponse.setHeader("contentType", "text/html; charset=utf-8"); il remplacera en fait réponse.setCharacterEncoding("utf-8"). Pendant le développement , il vous suffit de définir

B. Définir l'encodage côté serveur

response.setContentType("text/html;charset=utf-8");

3 . A. Définir le codage côté serveur

response.setCharacterEncoding("utf-8");

B. Le navigateur utilise utf-8 pour le décodage

                                                                                                                , définir l'encodage côté serveur

response.setCharacterEncoding("utf-8");

B Informer le navigateur du format de données envoyé par le serveur

response.setContentType ("text /html;charset=utf-8");

C. Le navigateur utilise utf-8 pour le décodage

        

Voici comment je l'ai configuré, juste au cas où ;

2. La requête est tronquée

Il existe trois manières d'accéder depuis le navigateur : saisir directement l'URL dans la barre d'adresse pour accéder, cliquer sur le lien hypertexte dans la page pour y accéder, et soumettez le formulaire pour y accéder. Le navigateur de la première méthode d'accès code les paramètres selon UTF-8 par défaut, et les navigateurs des deux dernières méthodes d'accès codent les paramètres selon le codage d'affichage de la page actuelle. Par conséquent, pour demander des caractères tronqués, il vous suffit de définir le format de décodage correspondant côté serveur. En raison des différentes méthodes d'accès, les navigateurs disposent également de formats d'encodage différents pour les paramètres. Afin de faciliter le traitement, l'accès via des hyperliens et des formulaires doit également être au format UTF-8, c'est-à-dire que l'encodage pour l'affichage de la page actuelle doit également utiliser UTF-. 8, alors parcourez Le processeur utilisera uniformément UTF-8 pour encoder les paramètres.

A. Méthode Post

La méthode post appartient à la soumission du formulaire et les paramètres existent dans le corps de la requête.

request.setCharacterEncoding("utf-8")

B. get méthode

Les paramètres soumis par la méthode get suivront l'uri dans la ligne de requête, et le serveur suivra le décodage par défaut avec iso-8859-1. À l'heure actuelle, il existe deux façons de résoudre le code tronqué :

Méthode 1 : modifier l'encodage par défaut du paramètre uri côté serveur

Dans le server.xml de Tomcat, définissez simplement l'attribut URIEncoding="UTF-8" de l'élément. (Cet attribut n'est pas défini par défaut)

Par exemple : Remarque : 1. Définissez l'attribut de l'élément useBodyEncodingForURI="true", ce qui signifie que le corps de la requête et l'uri utilisent le même format d'encodage. En définissant ces deux attributs, vous pouvez résoudre à la fois le code tronqué dans la méthode get et le code tronqué dans la méthode post. 2. Spécifiez que le serveur décode GET et POST conformément à UTF-8 en modifiant le serveur.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Que signifie la requête php ? Que signifie la requête php ? Jul 07, 2021 pm 01:49 PM

La signification chinoise de request est "request". Il s'agit d'une variable globale en PHP et c'est un tableau contenant "$_POST", "$_GET" et "$_COOKIE". La variable "$_REQUEST" peut obtenir des données et des informations COOKIE soumises par POST ou GET.

Comment utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET en Python 3.x Comment utiliser la fonction urllib.request.urlopen() pour envoyer une requête GET en Python 3.x Jul 30, 2023 am 11:28 AM

Comment utiliser la fonction urllib.request.urlopen() dans Python3.x pour envoyer une requête GET En programmation réseau, nous avons souvent besoin d'obtenir des données d'un serveur distant en envoyant une requête HTTP. En Python, nous pouvons utiliser la fonction urllib.request.urlopen() dans le module urllib pour envoyer une requête HTTP et obtenir la réponse renvoyée par le serveur. Cet article explique comment utiliser

Qu'est-ce que l'objet Request en PHP ? Qu'est-ce que l'objet Request en PHP ? Feb 27, 2024 pm 09:06 PM

L'objet Request en PHP est un objet utilisé pour gérer les requêtes HTTP envoyées par le client au serveur. Grâce à l'objet Request, nous pouvons obtenir les informations de demande du client, telles que la méthode de demande, les informations d'en-tête de demande, les paramètres de demande, etc., afin de traiter et de répondre à la demande. En PHP, vous pouvez utiliser des variables globales telles que $_REQUEST, $_GET, $_POST, etc. pour obtenir les informations demandées, mais ces variables ne sont pas des objets, mais des tableaux. Afin de traiter les informations demandées de manière plus flexible et plus pratique, vous pouvez

Comment encapsuler l'intercepteur Vue3 Axios dans un fichier de requête Comment encapsuler l'intercepteur Vue3 Axios dans un fichier de requête May 19, 2023 am 11:49 AM

1. Créez un nouveau fichier appelé request.js et importez Axios : importaxiosfrom'axios' ; 2. Créez une fonction appelée request et exportez-la : Cela créera une fonction appelée request et l'exportera. Configurez une nouvelle instance Axios avec une URL de base. . Pour ajouter des paramètres de délai d'attente dans une instance Axios encapsulée, vous pouvez transmettre l'option de délai d'attente lors de la création de l'instance Axios. exportconstrequest=axios.create({baseURL:'https://example.

Le rôle et l'importance de Request en PHP Le rôle et l'importance de Request en PHP Feb 27, 2024 pm 12:54 PM

Le rôle et l'importance de Request en PHP Dans la programmation PHP, Request est un mécanisme d'envoi de requêtes au serveur Web. Il joue un rôle essentiel dans le développement Web. La requête est principalement utilisée pour obtenir des données envoyées par le client, telles que la soumission d'un formulaire, une requête GET ou POST, etc. Grâce à la requête, les données saisies par l'utilisateur peuvent être obtenues et les données peuvent être traitées et traitées. Cet article présentera le rôle et l'importance de Request en PHP et donnera des exemples de code spécifiques.

Qu'est-ce qu'une requête en PHP Qu'est-ce qu'une requête en PHP Jun 01, 2023 am 10:12 AM

Request en PHP fait référence à request. Il s'agit d'une variable super globale en PHP. Elle est utilisée pour collecter les données soumises par les formulaires HTML et les paramètres dans les URL. Elle peut obtenir des données à partir des requêtes GET et POST en même temps. un tableau associatif. , où les clés sont les noms des champs du formulaire et les valeurs sont les valeurs des champs du formulaire. Lors de l'utilisation de la variable $_request, les données saisies par l'utilisateur doivent toujours être validées et filtrées pour éviter les problèmes de sécurité.

Comment utiliser le contexte pour implémenter la vérification des paramètres de requête dans Go Comment utiliser le contexte pour implémenter la vérification des paramètres de requête dans Go Jul 22, 2023 am 08:23 AM

Comment utiliser le contexte pour implémenter la vérification des paramètres de requête dans Go Introduction : Au cours du processus de développement back-end, nous devons souvent vérifier les paramètres de requête pour garantir la légalité des paramètres. Le langage Go fournit le package de contexte pour gérer les informations contextuelles des requêtes. Sa conception élégante et sa simplicité d'utilisation en font un outil couramment utilisé. Cet article expliquera comment utiliser le package de contexte de Go pour implémenter la vérification des paramètres de requête et donnera des exemples de code correspondants. Introduction au package contextuel Dans Go, le package contextuel est utilisé pour livrer

Comment utiliser le module urllib.request pour envoyer des requêtes HTTP en Python 3.x Comment utiliser le module urllib.request pour envoyer des requêtes HTTP en Python 3.x Jul 30, 2023 am 11:21 AM

Comment utiliser le module urllib.request pour envoyer des requêtes HTTP dans Python3.x Dans le processus de développement actuel, nous avons souvent besoin d'envoyer des requêtes HTTP pour interagir avec le serveur. Python fournit le module urllib.request, qui est l'un des modules de la bibliothèque standard Python pour gérer les requêtes URL. Dans cet article, nous allons apprendre comment envoyer des requêtes HTTP à l'aide du module urllib.request

See all articles