Documentation Home
MySQL PHP API
Download this Manual
PDF (US Ltr) - 2.4Mb
PDF (A4) - 2.4Mb


MySQL PHP API  /  ...  /  mysqli::set_charset, mysqli_set_charset

3.8.47 mysqli::set_charset, mysqli_set_charset

Copyright 1997-2022 the PHP Documentation Group.

  • mysqli::set_charset

    mysqli_set_charset

    Sets the client character set

Description

Object-oriented style

public bool mysqli::set_charset(string charset);

Procedural style

bool mysqli_set_charset(mysqli mysql,
                        string charset);

Sets the character set to be used when sending data from and to the database server.

Parameters

mysql

Procedural style only: A mysqli object returned by mysqli_connect or mysqli_init

charset

The desired character set.

Return Values

Returns true on success or false on failure.

Examples

Example 3.64 mysqli::set_charset example

Object-oriented style

<?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 style

<?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));

The above examples will output something similar to:

Initial character set: latin1
Current character set: utf8mb4


Notes

Note

To use this function on a Windows platform you need MySQL client library version 4.1.11 or above (for MySQL 5.0 you need 5.0.6 or above).

Note

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