Php/docs/mysqli.set-charset
mysqli::set_charset
mysqli_set_charset
(PHP 5 >= 5.0.5, PHP 7)
mysqli::set_charset -- mysqli_set_charset — Sets the default client character set
Description
Object oriented style
public mysqli::set_charset
( string $charset
) : bool
Procedural style
mysqli_set_charset
( mysqli $link
, string $charset
) : bool
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