Lorsque vous utilisez des bases de données MySQL, les paramètres de jeu de caractères sont cruciaux, ce qui affecte directement le stockage des données, la requête et l'affichage de la page. Si le jeu de caractères n'est pas défini correctement, il peut provoquer du code brouillé ou que les données multilingues ne peuvent pas être traitées normalement. Pour s'assurer que le jeu de caractères est défini correctement lors de l'utilisation de l'extension MySQLI , nous pouvons utiliser la fonction MySQLI :: Get_Charset pour vérifier que les paramètres du jeu de caractères dans mysqli_options () ont déjà pris effet.
Cet article présentera en détail comment vérifier si le jeu de caractères est correctement appliqué via la fonction mysqli :: get_charset .
Tout d'abord, nous devons créer une connexion à la base de données MySQL et définir le jeu de caractères via mysqli_options () . MySQLI_OPTIONS () nous permet de configurer certaines options, y compris des options de jeu de caractères avant d'établir la connexion.
<?php
// Créer une connexion de base de données
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// Définissez le jeu de caractères surUTF-8
if (!$mysqli->set_charset("utf8")) {
echo "Le paramètre de jeu de caractères a échoué: " . $mysqli->error;
} else {
echo "Le jeu de caractères est défini sur UTF-8";
}
?>
Dans le code ci-dessus, nous définissons le jeu de caractères de la connexion de la base de données à UTF-8 à $ mysqli-> set_charset ("utf8") . Ensuite, nous vérifierons que ce paramètre est en vigueur.
Une fois que nous avons configuré le jeu de caractères, l'étape suivante consiste à vérifier qu'elle a été appliquée avec succès. La fonction mysqli :: get_charset renvoie le jeu de caractères utilisé par la connexion de la base de données actuelle. Nous pouvons vérifier si le jeu de caractères est cohérent avec ce que nous définissons.
<?php
// Obtenez le jeu de caractères actuel
$charset = $mysqli->get_charset();
// Sortir le jeu de caractères actuel
echo "Le jeu de caractères actuel est: " . $charset->charset;
?>
L'objet de jeu de caractères obtenu via mysqli :: get_charset contient plusieurs informations, la plus couramment utilisée est l'attribut Charset , qui représente le jeu de caractères utilisé par la connexion actuelle. Nous pouvons comparer cela au jeu de caractères que nous attendons.
Si le jeu de caractères est défini correctement, le jeu de caractères renvoyé par mysqli :: get_charset doit être cohérent avec ce que nous avons défini auparavant. Nous pouvons porter un jugement conditionnel simple pour publier un message que le jeu de caractères est défini avec succès:
<?php
// Obtenez le jeu de caractères actuel
$charset = $mysqli->get_charset();
// Vérifiez que le jeu de caractères est en vigueur
if ($charset->charset == 'utf8') {
echo "Ensemble de jeux de caractères avec succès,Le jeu de caractères actuel est UTF-8";
} else {
echo "Le paramètre de jeu de caractères a échoué,Le jeu de caractères actuel est " . $charset->charset;
}
?>
Combiné avec le code précédent, voici un exemple complet montrant comment configurer un jeu de caractères et vérifier qu'il prend effet.
<?php
// Créer une connexion de base de données
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// Vérifiez si la connexion réussit
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// Définissez le jeu de caractères surUTF-8
if (!$mysqli->set_charset("utf8")) {
die("Le paramètre de jeu de caractères a échoué: " . $mysqli->error);
}
// Obtenez le jeu de caractères actuel
$charset = $mysqli->get_charset();
// Vérifiez que le jeu de caractères est en vigueur
if ($charset->charset == 'utf8') {
echo "Ensemble de jeux de caractères avec succès,Le jeu de caractères actuel est UTF-8";
} else {
echo "Le paramètre de jeu de caractères a échoué,Le jeu de caractères actuel est " . $charset->charset;
}
?>
Avec l'exemple de code ci-dessus, nous montrons comment utiliser la fonction mysqli :: get_charset pour vérifier que les paramètres du jeu de caractères dans mysqli_options () ont déjà pris effet. Dans le développement réel, garantir le réglage correct des jeux de caractères est une étape importante pour éviter les données brouillées et les problèmes de compatibilité de la base de données.
De plus, d'autres jeux de caractères, tels que UTF8MB4 , peuvent être définis au besoin pour prendre en charge plus de caractères.
Étiquettes associées:
mysqli