mysqli::set_charset
mysqli_set_charset
(PHP 5 >= 5.0.5, PHP 7)
mysqli::set_charset -- mysqli_set_charset — Задает набор символов по умолчанию
Описание
Объектно-ориентированный стиль
$charset
) : boolПроцедурный стиль
Задает набор символов по умолчанию, который будет использоваться при обмене данными с сервером баз данных.
Список параметров
-
link
-
Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()
-
charset
-
Набор символов, который необходимо установить.
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примечания
Замечание:
Чтобы использовать эту функцию на Windows платформах, вам потребуется клиентская библиотека MySQL версии 4.1.11 или выше (для MySQL 5.0 соответственно 5.0.6 или выше).
Замечание:
Это предпочтительный способ задания набора символов. Использование для этих целей функции mysqli_query() (например
SET NAMES utf8
) не рекомендуется. Дополнительно см. Наборы символов в MySQL.
Примеры
Пример #1 Пример использования mysqli::set_charset()
Объектно-ориентированный стиль
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
printf("Изначальная кодировка: %s\n", $mysqli->character_set_name());
/* изменение набора символов на utf8mb4 */
if (!$mysqli->set_charset("utf8mb4")) {
printf("Ошибка при загрузке набора символов utf8mb4: %s\n", $mysqli->error);
exit();
} else {
printf("Текущий набор символов: %s\n", $mysqli->character_set_name());
}
$mysqli->close();
?>
Процедурный стиль
<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
printf("Изначальная кодировка: %s\n", $mysqli->character_set_name());
/* изменение набора символов на utf8mb4 */
if (!mysqli_set_charset($link, "utf8mb4")) {
printf("Ошибка при загрузке набора символов utf8mb4: %s\n", mysqli_error($link));
exit();
} else {
printf("Текущий набор символов: %s\n", mysqli_character_set_name($link));
}
mysqli_close($link);
?>
Результат выполнения данных примеров:
Изначальная кодировка: latin1 Текущий набор символов: utf8mb4
Смотрите также
- mysqli_character_set_name() - Возвращает кодировку по умолчанию, установленную для соединения с БД
- mysqli_real_escape_string() - Экранирует специальные символы в строке для использования в SQL-выражении, используя текущий набор символов соединения
- Концепции кодировок MySQL
- » Список поддерживаемых MySQL наборов символов