mysqli::set_charset
(PHP 5 >= 5.0.5, PHP 7, PHP 8)
Sets the client character set
Description
Oop
Procedural
Sets the character set to be used when sending data from and to the database server.
Parameters
charsetThe desired character set.
Return Values
Success
Errors/Exceptions Conditionalexception
Examples
mysqli::set_charset example
Oop
<?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());Procedural
<?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));Similar
Initial character set: latin1
Current character set: utf8mb4Notes
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.
See Also
mysqli_character_set_name()mysqli_real_escape_string()- MySQL character set concepts
- List of character sets that MySQL supports