PHP 8.4.0 RC2 available for testing

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

mysqli::get_charset -- mysqli_get_charsetRetourne un objet représentant le jeu de caractères

Description

Style orienté objet

public mysqli::get_charset(): ?object

Style procédural

mysqli_get_charset(mysqli $mysql): ?object

Retourne un objet représentant le jeu de caractères, fournissant différentes propriétés du jeu de caractères courant.

Liste de paramètres

mysql

Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().

Valeurs de retour

La fonction retourne un jeu de caractères avec les propriétés suivantes :

charset

Nom du jeu de caractères

collation

Nom de la collation

dir

Le dossier dans lequel la description du jeu de caractères est cherchée (?) ou "" pour les jeux de caractères internes

min_length

Longueur minimum de caractères, en octets

max_length

Longueur maximal de caractères, en octets

number

Numéro du jeu de caractères interne

state

Statut du jeu de caractères (?)

Exemples

Exemple #1 Exemple avec mysqli::get_charset()

Style orienté objet

<?php
$db
= mysqli_init();
$db->real_connect("localhost","root","","test");
var_dump(mysqli_get_charset($db));
?>

Style procédural

<?php
$db
= mysqli_init();
mysqli_real_connect($db, "localhost","root","","test");
var_dump($db->get_charset());
?>

Les exemples ci-dessus vont afficher :

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Voir aussi

add a note

User Contributed Notes 1 note

up
1
jab_creations at yahoo dot com
3 months ago
On a new server this function was incorrectly returning "utf8mb4_general_ci".

I started a bug report and it turns out that:

1. The PHP team maintained an internal static list.
2. They ultimately decided to not be bothered to update that internal static list.

So as someone with the intentions on knowing exactly what is going on (e.g. Paris Michigan !== Paris France) I now reject the use of this function.

I'm not sure about other databases though for MariaDB you can determine the many character sets using the following SQL query:

SELECT VARIABLE_NAME, GLOBAL_VALUE, DEFAULT_VALUE
FROM INFORMATION_SCHEMA.SYSTEM_VARIABLES
WHERE VARIABLE_NAME LIKE '%CHAR%';
To Top