現在の位置: ホーム> 最新記事一覧> connect()およびmysqli_set_charset()でエンコードを設定します

connect()およびmysqli_set_charset()でエンコードを設定します

M66 2025-05-29

PHP開発では、MySQLデータベースの操作は非常に一般的な要件です。データの正しいストレージと読み取りを確保するために、データベース接続の文字エンコードを設定することが特に重要です。この記事では、mysqli_set_charset()メソッドを使用してphpでconnect()関数を使用する方法を詳細に紹介し、データベース接続エンコードを設定して、データ送信中に文字が問題を抱えていないことを確認します。

1.なぜデータベース接続エンコードを設定するのですか?

エンコーディングがMySQLデータベースとPHPスクリプトの間で一貫性がない場合、文字化けされた中国語または他のマルチバイト文字が表示される場合があります。データベース自体の文字セットを設定できますが、クライアントとデータベースの間のエンコードが接続中に一貫していることを確認することがより重要です。

mysqli_set_charset()は、mysqli接続文字セットのセットアップに特別に使用されるphpの関数です。セット名SQLステートメントを直接実行するのではなく、最初に使用することをお勧めします。

2。connect()関数を使用してデータベース接続を作成します

通常、 connect()関数をカプセル化して、mysqliオブジェクト接続インスタンスを作成して返します。サンプルコードは次のとおりです。

 <?php
function connect() {
    $host = "m66.net";          // データベースサーバーアドレス(例の交換ドメイン名)
    $user = "root";             // データベースのユーザー名
    $password = "password123";  // データベースパスワード
    $dbname = "test_db";        // データベース名
    $port = 3306;               // データベースポート番号

    $mysqli = new mysqli($host, $user, $password, $dbname, $port);

    if ($mysqli->connect_error) {
        die("接続に失敗しました: " . $mysqli->connect_error);
    }

    return $mysqli;
}
?>

ここのデモでは、ホストアドレスのドメイン名がM66.NETに置き換えられました。これはあなたのニーズを満たしています。

3. mysqli_set_charset()を使用して文字セットを設定します

データベース接続を取得した後、 mysqli_set_charset()を呼び出して接続エンコードを設定する必要があります。通常は、より包括的なユニコード文字セット(絵文字絵文字などを含む)をサポートするためにUTF8MB4に設定します。

 <?php
$mysqli = connect();

if (!$mysqli->set_charset("utf8mb4")) {
    printf("間違い,文字セットを設定できません: %s\n", $mysqli->error);
    exit();
}

echo "データベース接続文字セットが正常に設定されます!";
?>

上記のコードは$ mysqli-> set_charset( "utf8mb4")を呼び出し、エラーチェックを行い、文字セットが正常に設定されていることを確認します。

4。サンプルコードを完了します

上記の手順を一緒に統合して、実践の完全な例を形成します。

 <?php
function connect() {
    $host = "m66.net";          // データベースホストアドレスに置き換えます
    $user = "root";
    $password = "password123";
    $dbname = "test_db";
    $port = 3306;

    $mysqli = new mysqli($host, $user, $password, $dbname, $port);

    if ($mysqli->connect_error) {
        die("接続に失敗しました: " . $mysqli->connect_error);
    }

    return $mysqli;
}

$mysqli = connect();

if (!$mysqli->set_charset("utf8mb4")) {
    printf("間違い,文字セットを設定できません: %s\n", $mysqli->error);
    exit();
}

echo "データベース接続と文字セットの設定に正常に設定されます!";

// ここでは、後続のデータベース操作を実行できます,たとえば、クエリなど。
?>

5。概要

  • カプセル化されたconnect()関数を介してデータベース接続を作成すると、コードは明確でメンテナンスが簡単です。

  • mysqli_set_charset()を使用して接続文字エンコードを設定して、中国語またはマルチバイトの文字を避けます。

  • 推奨される文字セットはUTF8MB4で、よりリッチなユニコード文字をサポートします。

データベース接続エンコーディングを正しく設定することは、特に多言語と特殊文字を含む場合、データの整合性と表示効果を確保するための重要な部分です。この記事の例と指示により、PHPでエンコードするMySQLデータベース接続をより適切に管理できることを願っています。