mysqli::set_charset

(PHP 5 >= 5.0.5, PHP 7)
Sets the default client character set
bool mysqli::set_charset ( string $charset )

Object oriented style

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.

Returns:

Returns TRUE on success or FALSE on failure.

Notes:

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

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:
mysqli::set_charset() example

Object oriented style

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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() -

mysqli_real_escape_string() -

MySQL character set concepts -

» List of character sets that MySQL supports -

doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.