(PHP 5 >= 5.0.5, PHP 7, PHP 8)
mysqli::set_charset -- mysqli_set_charset — Définit le jeu de caractères du client
Style orienté objet
$charset
): boolStyle procédural
Définit le jeu de caractères à utiliser lors de l'envoi de données depuis et vers le serveur de base de données.
mysql
Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou par la fonction mysqli_init().
charset
Le jeu de caractères à définir.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Exemple #1 Exemple avec mysqli::set_charset()
Style orienté objet
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
printf("Jeu de caractère initial : %s\n", $mysqli->character_set_name());
/* Modification du jeu de résultats en utf8mb4 */
$mysqli->set_charset("utf8mb4");
printf("Jeu de caractères courant : %s\n", $mysqli->character_set_name());
?>
Style procédural
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
printf("Jeu de caractère initial : %s\n", mysqli_character_set_name($link));
/* Modification du jeu de résultats en utf8mb4 */
mysqli_set_charset($link, "utf8mb4");
printf("Jeu de caractères courant : %s\n", mysqli_character_set_name($link));
?>
Les exemples ci-dessus vont afficher quelque chose de similaire à :
Jeu de caractère initial : latin1 Jeu de caractères courant : utf8mb4
Note:
Pour utiliser cette fonction sur les systèmes Windows, vous devez utiliser la bibliothèque client MySQL version 4.1.11 ou suivante (pour MySQL 5.0, vous avez besoin de la version 5.0.6 ou suivante).
Note:
C'est la meilleure façon de modifier le jeu de caractères. Il n'est pas recommandé d'utiliser la fonction mysqli_query() pour le définir (comme avec la requête
SET NAMES utf8
). Voir la section Concepts des jeux de caractères MySQL pour plus d'informations.