Les valeurs saisies par le navigateur sont déformées dans les programmes PHP.


Date de publication:8 décembre 2020.



INFOMARTION > Les valeurs saisies par le navigateur sont déformées dans les programmes PHP.

Vue d'ensemble.

Un texte déformé apparaissait lors du passage de l'écran de saisie à l'écran de confirmation en PHP.

Le texte est déformé lors de la saisie du texte dans le formulaire et du passage à l'écran de confirmation.

Un texte déformé se produit également lors de la transition vers l'écran personnel en raison d'erreurs de vérification de la saisie.

Comme le serveur venait juste d'être construit, j'ai senti que quelque chose manquait dans la configuration de PHP, je vais donc décrire ce que j'ai découvert à ce moment-là.


Table des matières

  1. enquête (pour déterminer la cause de quelque chose)
  2. résumé

1. enquête (pour déterminer la cause de quelque chose)

Les informations suivantes ont été examinées pour rechercher la cause du problème.

1-1. enquête

Tout d'abord, vérifiez les paramètres PHP (php.ini).

php.ini


default_charset = "UTF-8"
mbstring.internal_encoding = UTF-8
mbstring.encoding_translation = On

Il est tel que décrit ci-dessus et semble être en bon état.

Alors le problème semble être causé par la source PHP.

Cependant, la source PHP n'a pas identifié le problème probable.

Une fois de plus, j'ai vérifié les paramètres suspects dans le php.ini et j'en ai trouvé un.

php.ini


mbstring.http_input = auto

Il n'était pas clair s'il était encodé en UTF-8 car il était réglé sur auto, il a donc été modifié comme suit pour l'essayer.

php.ini


mbstring.http_input = UTF-8

Le texte brouillé a été résolu avec succès.

Ce paramètre est nécessaire pour le module mbstring lors de l'utilisation de chaînes de caractères multi-octets comme le japonais en PHP.

Configuration de l'encodage des requêtes http reçues.

2. résumé

Si le texte est brouillé, essayez d'abord d'organiser le flux de traitement.

Et si vous rencontrez des caractères tronqués lorsque vous utilisez PHP pour passer de l'écran de saisie à l'écran de confirmation ou à d'autres transitions d'écran, soupçonnez les paramètres suivants dans le php.ini.

Le paramètre par défaut est 'auto', donc vérifiez-le lorsque vous utilisez mbstring pour traiter des chaînes multi-octets.

Merci d'avoir regardé jusqu'à la fin.