Position actuelle: Accueil> Derniers articles> connect () et définissez le codage avec mysqli_set_charset ()

connect () et définissez le codage avec mysqli_set_charset ()

M66 2025-05-29

Dans le développement de PHP, le fonctionnement des bases de données MySQL est une exigence très courante. Afin d'assurer le stockage et la lecture corrects des données, il est particulièrement important de définir le codage des caractères de la connexion de la base de données. Cet article introduira en détail comment utiliser la fonction connect () en PHP avec la méthode mysqli_set_charset () pour définir le codage de la connexion de la base de données pour s'assurer que les caractères n'ont pas de problèmes broyés pendant la transmission de données.

1. Pourquoi configurer l'encodage de connexion de la base de données?

Si le codage est incohérent entre la base de données MySQL et le script PHP, le chinois broué ou d'autres caractères multi -yte peut apparaître. Bien que le jeu de caractères de la base de données lui-même puisse être défini, il est plus important de s'assurer que le codage entre le client et la base de données est cohérent pendant la connexion.

mysqli_set_charset () est une fonction de PHP qui est spécifiquement utilisée pour configurer le jeu de caractères de connexion MySQLI. Il est recommandé de l'utiliser d'abord plutôt que d'exécuter directement les noms SET SQL car il est plus sûr et plus compatible.

2. Utilisez la fonction connect () pour créer une connexion de base de données

Habituellement, nous encapsulons une fonction connect () pour créer et renvoyer une instance de connexion d'objet MySQLI. L'exemple de code est le suivant:

 <?php
function connect() {
    $host = "m66.net";          // Adresse du serveur de base de données(Exemple de nom de domaine de remplacement)
    $user = "root";             // Nom d&#39;utilisateur de base de données
    $password = "password123";  // Mot de passe de base de données
    $dbname = "test_db";        // Nom de base de données
    $port = 3306;               // Numéro de port de base de données

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

    if ($mysqli->connect_error) {
        die("Échec de la connexion: " . $mysqli->connect_error);
    }

    return $mysqli;
}
?>

Dans la démonstration ici, le nom de domaine de l'adresse hôte a été remplacé par m66.net , qui répond à vos besoins.

3. Définir le jeu de caractères avec mysqli_set_charset ()

Après avoir obtenu la connexion de la base de données, nous devons appeler mysqli_set_charset () pour définir le codage de connexion, généralement défini sur UTF8MB4 pour prendre en charge un jeu de caractères Unicode plus complet (y compris les emoji emoji, etc.).

 <?php
$mysqli = connect();

if (!$mysqli->set_charset("utf8mb4")) {
    printf("erreur,Impossible de définir le jeu de caractères: %s\n", $mysqli->error);
    exit();
}

echo "Le jeu de caractères de connexion de la base de données est défini avec succès!";
?>

Le code ci-dessus appelle $ mysqli-> set_charset ("UTF8MB4") et fait une vérification des erreurs pour s'assurer que le jeu de caractères est défini avec succès.

4. Exemple de code complet

Intégrez les étapes ci-dessus pour former un exemple complet pour une utilisation pratique:

 <?php
function connect() {
    $host = "m66.net";          // Remplacez par votre adresse hôte de base de données
    $user = "root";
    $password = "password123";
    $dbname = "test_db";
    $port = 3306;

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

    if ($mysqli->connect_error) {
        die("Échec de la connexion: " . $mysqli->connect_error);
    }

    return $mysqli;
}

$mysqli = connect();

if (!$mysqli->set_charset("utf8mb4")) {
    printf("erreur,Impossible de définir le jeu de caractères: %s\n", $mysqli->error);
    exit();
}

echo "Paramètres de connexion de la base de données et des paramètres avec succès!";

// Ici, vous pouvez effectuer des opérations de base de données ultérieures,Par exemple, requête, etc.
?>

5. Résumé

  • Créez des connexions de base de données via la fonction Connect () encapsulée, le code est clair et facile à maintenir.

  • Utilisez mysqli_set_charset () pour définir le codage des caractères de connexion pour éviter les caractères chinois ou multi-octets broulés.

  • Le jeu de caractères recommandé est UTF8MB4 , qui prend en charge les caractères Unicode plus riches.

La définition correcte de l'encodage de la connexion de la base de données est un élément important pour assurer l'intégrité des données et l'effet d'affichage, en particulier lorsqu'il implique des caractères multilingues et spéciaux. Espérons que les exemples et les instructions de cet article peuvent vous aider à mieux gérer le codage de la connexion de la base de données MySQL en PHP.