mysqli::set_charset

mysqli_set_charset

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

mysqli::set_charset -- mysqli_set_charsetSets the client character set

Опис

Об'єктно-орієнтований стиль

public mysqli::set_charset(string $charset): bool

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

mysqli_set_charset(mysqli $mysql, string $charset): bool

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.

Значення, що повертаються

Повертає true у разі успіху або false в разі помилки.

Помилки/виключення

Якщо увімкнені звіти про помилки 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.

Прогляньте також