ConFoo 2025

mysqli::get_charset

mysqli_get_charset

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

mysqli::get_charset -- mysqli_get_charsetRetorna um objeto de conjunto de caracteres

Descrição

Estilo orientado a objetos

public mysqli::get_charset(): ?object

Estilo procedural

mysqli_get_charset(mysqli $mysql): ?object

Retorna um objeto de conjunto de caracteres fornecendo várias propriedades do conjunto de caracteres ativo atual.

Parâmetros

mysql

Somente no estilo procedural: Um objeto mysqli retornado por mysqli_connect() ou mysqli_init()

Valor Retornado

A função retorna um objeto de conjunto de caracteres com as seguintes propriedades:

charset

Nome do conjunto de caracteres

collation

Nome do agrupamento

dir

Diretório do qual a descrição do conjunto de caracteres foi obtida (?) ou "" para conjuntos de caracteres integrados

min_length

Comprimento mínimo de caracteres em bytes

max_length

Comprimento máximo de caracteres em bytes

number

Número interno do conjunto de caracteres

state

Status do conjunto de caracteres (?)

Exemplos

Exemplo #1 mysqli::get_charset() exemplo

Estilo orientado a objetos

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

Estilo procedural

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

Os exemplos acima produzirão:

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

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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