Maison >développement back-end >Problème PHP >php écrit des caractères tronqués dans la base de données
Presque tous les développeurs PHP ont rencontré le problème des caractères tronqués. Ci-dessous, nous présentons principalement la solution aux caractères tronqués lors de la connexion à la base de données PHP MySQL. " utf8_general_ci" ou exécutez l'instruction :
CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Lors de la création d'une table de données : Si le champ stocke le chinois, vous devez définir "Organisation" sur : "utf8_general_ci", si le champ stocke l'anglais ou des chiffres. par défaut, c'est bien.
L'instruction SQL correspondante, par exemple : CREATE TABLE `test` (
`id` INT NOT NULL ,
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
2 Utilisez PHP pour lire et écrire la base de données
Après vous être connecté à la base de données,
$connection = mysqli_connect($host_name, $host_user, $host_pass);. rejoindre :
mysqli_query("set character set 'utf8'");//读库
mysqli_query("set names 'utf8'");//写库
peut lire et écrire la base de données MYSQL normalement.
L'environnement créé à l'aide de appserv-win32-2.5.10 utilise le codage utf8 par défaut lors de l'installation de ce package.
$conn = mysqli_connect("$host","$user","$password"); mysqli_query("SET NAMES 'UTF8'"); mysqli_select_db("$database",$conn);Puis lors de la création de la page, faites attention à cette phrase :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
mysqli_query("SET NAMES 'GBK'");
, alors la page devrait également changer en conséquence :
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
Le contenu ci-dessus est à titre de référence uniquement !
Tutoriel recommandé :
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!