(PHP 5 >= 5.0.5, PHP 7, PHP 8)
mysqli::set_charset -- mysqli_set_charset — Définit le jeu de caractères du client
Description
Style orienté objet
public
mysqli::set_charset(string
$charset
): bool
mysqli_set_charset(mysqli
$mysql
, string
$charset
): bool
Liste de paramètres
-
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.
Valeurs de retour
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
Erreurs / Exceptions
Si le rapport d'erreurs mysqli est activé (MYSQLI_REPORT_ERROR
) et que l'opération demandée échoue,
un avertissement est généré. Si, en plus, le mode est défini sur MYSQLI_REPORT_STRICT
,
une mysqli_sql_exception est lancée à la place.
Exemples
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
Notes
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.
Voir aussi
- mysqli_character_set_name() - Retourne le jeu de caractères courant pour la connexion
- mysqli_real_escape_string() - Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une
requête SQL, en prenant en compte le jeu de caractères courant de la
connexion
- Concepts des jeux de caractères MySQL
- » Liste des jeux de caractères
supportés par MySQL