mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0, PHP 7)

mysqli::get_charset -- mysqli_get_charset Возвращает набор символов в виде объекта

Описание

Объектно-ориентированный стиль

object mysqli::get_charset ( void )

Процедурный стиль

object mysqli_get_charset ( mysqli $link )

Возвращает объект набора символов, предоставляющий несколько свойств текущего активного набора символов.

Список параметров

link

Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()

Возвращаемые значения

Функция возвращает объект с следующими свойствами:

charset

Имя набора символов

collation

Имя сопоставления

dir

Директория, из которой получено описание набора символов. (?) или "" для встроенных наборов

min_length

Минимальная длина символа в байтах

max_length

Максимальная длина символа в байтах

number

Внутренний номер символа

state

Состояние набора символов (?)

Примеры

Пример #1 Пример использования mysqli::get_charset()

Объектно-ориентированный стиль

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

Процедурный стиль

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

Результат выполнения данных примеров:

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

Смотрите также

  • mysqli_character_set_name() - Возвращает кодировку по умолчанию, установленную для соединения с БД
  • mysqli_set_charset() - Задает набор символов по умолчанию

Коментарии

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%';
2024-07-11 22:55:25
http://php5.kiev.ua/manual/ru/mysqli.get-charset.html

    Поддержать сайт на родительском проекте КГБ