mysqli::send_query
mysqli::set_local_infile_default
mysqli
PHP Manual

# mysqli::set_charset

# mysqli_set_charset

(PHP 5 >= 5.0.5)

mysqli::set_charset -- mysqli_set_charset — Sets the default client character set

### Description

Object oriented style

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

Procedural style

bool mysqli_set_charset ( mysqli `$link` , string `$charset` )

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

### Parameters

`link`

  Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()

`charset`

  The charset to be set as default.

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### 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.

### Examples

Example #1 mysqli::set_charset() example

Object oriented style

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Initial character set: %s\n", $mysqli->character_set_name());
/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $mysqli->error);
exit();
} else {
printf("Current character set: %s\n", $mysqli->character_set_name());
}
$mysqli->close();
?>`

Procedural style

`<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
printf("Initial character set: %s\n", mysqli_character_set_name($link));
/* change character set to utf8 */
if (!mysqli_set_charset($link, "utf8")) {
printf("Error loading character set utf8: %s\n", mysqli_error($link));
exit();
} else {
printf("Current character set: %s\n", mysqli_character_set_name($link));
}
mysqli_close($link);
?>`

The above examples will output something similar to:

    Initial character set: latin1
    Current character set: utf8

### See Also

- mysqli_character_set_name() - Returns the default character set for the database connection
- mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
- MySQL character set concepts
- » List of character sets that MySQL supports

mysqli::send_query
mysqli::set_local_infile_default
mysqli
PHP Manual