On windows, with "stock" PHP 5.1.2, there is no set_charset function at all. One may have to replace php_mysqli.dll, and libmysql.dll with proper versions, which provided by MySQL at http://dev.mysql.com/downloads/connector/php/
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 (method):
Procedural style:
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 execute SET NAMES .. is not reccomended.
Examples
Example #1 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();
}
/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
printf("Current character set: %s\n", $mysqli->character_set_name());
}
$mysqli->close();
?>
Example #2 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();
}
/* change character set to utf8 */
if (!mysqli_set_charset($link, "utf8")) {
printf("Error loading character set utf8: %s\n", mysqli_error($link));
} else {
printf("Current character set: %s\n", mysqli_character_set_name($link));
}
mysqli_close($link);
?>
The above example will output:
Current character set: utf8
mysqli::set_charset
12-Apr-2006 11:13
