ConFoo 2025

mysqli::get_charset

mysqli_get_charset

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

mysqli::get_charset -- mysqli_get_charsetDevuelve un objeto que contiene el conjunto de caracteres

Descripción

Estilo orientado a objetos

mysqli::get_charset(): object

Estilo por procedimientos

mysqli_get_charset(mysqli $link): object

Devuelve un conjunto de caracteres objeto que proporciona varias propiedades del conjunto de caracteres activo actual.

Parámetros

link

Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()

Valores devueltos

La función devuelve un conjunto de caracteres objeto con las siguientes propiedades:

charset

Nombre del conjunto de caracteres

collation

Nombre de la colación

dir

Directory the charset description was fetched from (?) or "" for built-in character sets

min_length

Tamaño mínimo de carácter en bytes

max_length

Tamaño máximo de carácter en bytes

number

Número interno del conjunto de caracteres

state

Estado del conjunto de caracteres (?)

Ejemplos

Ejemplo #1 mysqli::get_charset() example

Estilo orientado a objetos

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

Estilo por procedimientos

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

El resultado de los ejemplos sería:

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)
}

Ver también

add a note

User Contributed Notes 1 note

up
1
jab_creations at yahoo dot com
4 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