Maison  >  Article  >  développement back-end  >  Que dois-je faire si php mysql ne peut pas interroger les noms chinois ?

Que dois-je faire si php mysql ne peut pas interroger les noms chinois ?

藏色散人
藏色散人original
2021-09-20 09:21:011632parcourir

Solution au problème selon lequel php mysql ne peut pas interroger les noms chinois : 1. Assurez-vous que l'encodage de MySQL et PHP est cohérent ; 2. Ajoutez "header("Content-type: text/html; charset=utf-8") à l'entête de la page php ;".

Que dois-je faire si php mysql ne peut pas interroger les noms chinois ?

L'environnement d'exploitation de cet article : système Windows 7, PHP7.1, ordinateur Dell G3.

Que dois-je faire si MySQL ne peut pas interroger les noms chinois ?

1. Assurez-vous que l'encodage de MySQL et PHP est cohérent

MySQL

Modifiez le format d'encodage de l'ensemble de la base de données

Remarque : si les données ne sont pas importantes, vous pouvez directement modifier le format d'encodage du base de données, puis reconstruisez la table. (La base de données dans cet exemple est test)

alter database test character set utf8

Modifiez le format d'encodage de la table entière

Remarque : Si les données sont importantes, exécutez le code suivant pour convertir le format d'encodage de la table entière en utf8 (les données de cet exemple exemple La table est étudiants)

alter table students convert to character set utf8

Modifiez le format d'encodage du champ sname dans la table des étudiants

Remarque : La première étape consiste à modifier le format d'encodage du champ sname dans la table.

Le deuxième sname varchar (64) est le nom et le type du champ à modifier (généralement les mêmes que dans la table d'origine, aucune modification ne sera apportée)

not null signifie que le sname ne peut pas être vide une fois modifié. (Vous pouvez choisir de ne pas l'ajouter)

alter table students change sname sname varchar(64) character set utf8 not null;

Vous pouvez également utiliser phpMyAdmin pour saisir la table de données

Que dois-je faire si php mysql ne peut pas interroger les noms chinois ?

ou saisir la base de données

Que dois-je faire si php mysql ne peut pas interroger les noms chinois ?

PHP

Ajouter dans l'en-tête de la page php :

header("Content-type: text/html; charset=utf-8");  //注意:这一句前不能向页面输出任何内容

De plus, ce qui est défini dans le code HTML est

2. Après avoir obtenu les informations transmises par le champ de recherche, ajoutez des guillemets simples

Zone de recherche :

Entrez le nom :

Recherchez

xxx.php:
$tofind = $_POST["userName"];
$sql = "SELECT * FROM user WHERE  name='$tofind';";
$result = $conn->query($sql);

pour interroger la chaîne de caractères chinois.

【Au moins le mien est terminé. . 】

Apprentissage recommandé : "Tutoriel vidéo PHP"

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:
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