mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5, PHP 7, PHP 8)

mysqli::set_charset -- mysqli_set_charset设置默认字符编码

说明

面向对象风格

mysqli::set_charset(string $charset): bool

过程化风格

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

设置在数据库间传输字符时所用的默认字符编码。

参数

mysql

仅以过程化样式:由mysqli_connect()mysqli_init() 返回的 mysqli 对象。

charset

被设为默认的字符编码名。

返回值

成功时返回 true, 或者在失败时返回 false

注释

注意:

如果在Windows平台上使用该方法,需要4.1.11版或以上的MySQL客户端库,且MySQL版本为5.0.6以上。

注意:

这应该是首选的用于改变字符编码的方法,不建议使用mysqli_query()执行SQL请求的SET NAMES ...(如 SET NAMES utf8)。 详见MySQL字符集的概念

范例

示例 #1 mysqli::set_charset() example

面向对象风格

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

过程化风格

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

以上例程会输出:

Current character set: utf8

参见