# set-charset

mysqli::set_charset

mysqli_set_charset

Sets the client character set

# 

ENTITY

ENTITY

<div data-wrapper="1" role="mysqli">

public

</div>

<div data-wrapper="1" role="mysqli">

bool

</div>

<div data-wrapper="1" role="mysqli">

mysqli::set_charset

</div>

<div data-wrapper="1" role="mysqli">

string

</div>

<div data-wrapper="1" role="mysqli">

charset

</div>

ENTITY

bool

mysqli_set_charset

mysqli

mysql

string

charset

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

# 

ENTITY

`charset`  
The desired character set.

# 

ENTITY

ENTITY

# 

ENTITY ENTITY

# 

ENTITY

<div class="example">

<div class="title">

mysqli::set_charset example

</div>

ENTITY

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

   
```

ENTITY

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

   
```

ENTITY

    Initial character set: latin1
    Current character set: utf8mb4

       

</div>

# 

ENTITY

> [!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](#mysqlinfo.concepts.charset) section for more information.

# 

ENTITY

`mysqli_character_set_name`, `mysqli_real_escape_string`, [MySQL character set concepts](#mysqlinfo.concepts.charset), [List of character sets that MySQL supports](ENTITY)