(PHP 5 >= 5.0.5, PHP 7, PHP 8)
mysqli::set_charset -- mysqli_set_charset — Sets the client character set
Об'єктно-орієнтований стиль
Процедурний стиль
Sets the character set to be used when sending data from and to the database server.
mysql
Тільки процедурний стиль: об'єкт mysqli, якого повертає функція mysqli_connect() або mysqli_init()
charset
The desired character set.
Якщо увімкнені звіти про помилки
mysqli (MYSQLI_REPORT_ERROR
) і запитана операція не
виконалась, буде виведено попередження, але якщо встановлено режим
MYSQLI_REPORT_STRICT
, буде викинуто виключення
mysqli_sql_exception.
Приклад #1 mysqli::set_charset() example
Об'єктно-орієнтований стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
printf("Initial character set: %s\n", $mysqli->character_set_name());
/* change character set to utf8mb4 */
$mysqli->set_charset("utf8mb4");
printf("Current character set: %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("Initial character set: %s\n", mysqli_character_set_name($link));
/* change character set to utf8mb4 */
mysqli_set_charset($link, "utf8mb4");
printf("Current character set: %s\n", mysqli_character_set_name($link));
Подані вище приклади виведуть щось схоже на:
Initial character set: latin1 Current character set: utf8mb4
Зауваження:
This is the preferred way to change the charset. Using mysqli_query() to set it (such as
SET NAMES utf8
) is not recommended. See the MySQL character set concepts section for more information.