oujood.com

Comment définir le jeu de caractères en PHP avec la fonction set_charset()

L'article explique comment utiliser la fonction set_charset() en PHP pour définir le jeu de caractères utilisé pour la communication entre le serveur PHP et le serveur MySQL.

set_charset() / mysqli_set_charset() en PHP

PHP Version: 5+

La fonction set_charset() ou mysqli_set_charset() permet de définir le jeu de caractères utilisé pour la communication entre le serveur PHP et le serveur MySQL. Cette fonction est importante pour garantir l'intégrité des données échangées, en particulier lorsque celles-ci contiennent des caractères spéciaux.

Définition et utilisation

La fonction set_charset() a la définition suivante :

bool set_charset(string $charset, mysqli $link)

Elle prend deux paramètres :

  • charset: le jeu de caractères à utiliser.
  • link: un objet mysqli représentant la connexion à la base de données.

La fonction retourne true si l'opération a réussi, false sinon.

Syntaxes orientées objet et procédurales

La fonction set_charset() est disponible en deux syntaxes :

  • Syntaxe orientée objet :
$mysqli->set_charset("utf8");
  • Syntaxe procédurale :
mysqli_set_charset($link, "utf8");

Valeurs possibles et paramètres

La valeur du paramètre charset peut être le nom d'un jeu de caractères MySQL ou le nom d'un jeu de caractères correspondant à une collation MySQL.

Par exemple, les valeurs suivantes sont toutes valides :

  • utf8
  • utf8mb4
  • latin1
  • gb2312

Exemples pratiques

Exemple en syntaxe orientée objet

Exemple :       Copier le code

<?php
$mysqli = new mysqli("localhost", "root", "", "database");

if ($mysqli->connect_error) {
die("Erreur de connexion : " . $mysqli->connect_error);
}

$mysqli->set_charset("utf8");

echo "Le jeu de caractères actuel est : " . $mysqli->character_set_name();

$mysqli->close();?>

Exemple en syntaxe procédurale

Exemple :       Copier le code

<?php
$link = mysqli_connect("localhost", "root", "", "database");

if (mysqli_connect_error()) {
die("Erreur de connexion : " . mysqli_connect_error());
}

mysqli_set_charset($link, "utf8");

echo "Le jeu de caractères actuel est : " . mysqli_character_set_name($link);

mysqli_close($link);?>

Astuces et conseils d'utilisation pratique

  • Il est important de définir le jeu de caractères avant d'effectuer toute opération sur la base de données, comme l'exécution d'une requête SQL ou l'insertion ou la modification de données.
  • Il est également important de vérifier le jeu de caractères actuel de la connexion avant d'effectuer toute opération, afin de s'assurer que les données sont correctement interprétées.

Conclusion

La fonction set_charset() est un outil important pour garantir l'intégrité des données échangées entre le serveur PHP et le serveur MySQL. En définissant le jeu de caractères approprié, vous pouvez éviter les erreurs de communication et de lecture/écriture des données.




Voir aussi nos tutoriel :

Détermine si une variable est une ressource">is_resource

 Détermine si une variable est une ressource

clear

Spécifie les côtés d'un élément où d'autres éléments flottants ne sont pas autorisés

Balise bdi

Isole une partie de texte qui peuvent être mis en forme dans une direction différente du reste du texte extérieur