(PHP 5 >= 5.0.5, PHP 7, PHP 8)
mysqli::set_charset -- mysqli_set_charset — Задаёт набор символов
Объектно-ориентированный стиль
$charset
): boolПроцедурный стиль
Задаёт набор символов, который будет использоваться при обмене данными с сервером баз данных.
mysql
Только для процедурного стиля: объект mysqli, полученный с помощью mysqli_connect() или mysqli_init().
charset
Набор символов, который необходимо установить.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Если уведомления об ошибках mysqli включены (MYSQLI_REPORT_ERROR
) и запрошенная операция не удалась,
выдаётся предупреждение. Если, кроме того, установлен режим MYSQLI_REPORT_STRICT
,
вместо этого будет выброшено исключение mysqli_sql_exception.
Пример #1 Пример использования mysqli::set_charset()
Объектно-ориентированный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
printf("Начальный набор символов: %s\n", $mysqli->character_set_name());
/* изменение набора символов на utf8mb4 */
$mysqli->set_charset("utf8mb4");
printf("Текущий набор символов: %s\n", $mysqli->character_set_name());
Процедурный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
printf("Начальный набор символов: %s\n", mysqli_character_set_name($link));
/* изменение набора символов на utf8mb4 */
mysqli_set_charset($link, "utf8mb4");
printf("Текущий набор символов: %s\n", mysqli_character_set_name($link));
Результат выполнения данных примеров:
Начальный набор символов: latin1 Текущий набор символов: utf8mb4
Замечание:
Чтобы использовать эту функцию на Windows платформах, вам потребуется клиентская библиотека MySQL версии 4.1.11 или выше (для MySQL 5.0 соответственно 5.0.6 или выше).
Замечание:
Это предпочтительный способ задания набора символов. Использование для этих целей функции mysqli_query() (например
SET NAMES utf8
) не рекомендуется. Дополнительно смотрите Наборы символов в MySQL.