Php/docs/mysqli.set-charset

提供:Dev Guides
< Php
移動先:案内検索

mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5, PHP 7)

mysqli::set_charset -- mysqli_set_charsetクライアントのデフォルト文字セットを設定する


説明

オブジェクト指向型

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

手続き型

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

データベースサーバーとのデータの送受信に使用する、 デフォルトの文字セットを設定します。


パラメータ

link
手続き型のみ: mysqli_connect() あるいは mysqli_init() が返すリンク ID。
charset
デフォルトとして設定する文字セット。


返り値

成功した場合に true を、失敗した場合に false を返します。


注意

注意:

Windows プラットフォームでこの関数を使用するには、MySQL クライアント ライブラリのバージョン 4.1.11 以降(MySQL 5.0 の場合は 5.0.6 以降) が必要です。

注意:

文字セットを変更するにはこの方法を使うことを推奨します。 mysqli_query() で (SET NAMES utf8 などとして) 設定する方法はお勧めできません。詳細は MySQL の文字セットの概念 を参照ください。

例1 mysqli::set_charset() の例

オブジェクト指向型


<?php$mysqli = new mysqli("localhost", "my_user", "my_password", "test");/* 接続状況をチェックします */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}printf("Initial character set: %s\n", $mysqli->character_set_name());/* 文字セットを 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();?>

手続き型


<?php$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');/* 接続状況をチェックします */if (mysqli_connect_errno()) {    printf("Connect failed: %s\n", mysqli_connect_error());    exit();}printf("Initial character set: %s\n", mysqli_character_set_name($link));/* 文字セットを 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);?>

上の例の出力は、 たとえば以下のようになります。


Initial character set: latin1
Current character set: utf8

参考