Comment gérer les chaînes Unicode (par exemple, hindi) en PHP et MySQL ?

Barbara Streisand
Libérer: 2024-10-22 20:44:04
original
103 Les gens l'ont consulté

How to Handle Unicode Strings (e.g., Hindi) in PHP and MySQL?

Stockage et affichage de chaînes Unicode (हिन्दी) Utilisation de PHP et MySQL

Le stockage et l'affichage de jeux de caractères non latins comme l'hindi dans une application Web peuvent être difficiles, mais cela est essentiel pour soutenir un public plus large. Voici un guide complet sur la façon d'y parvenir en utilisant PHP et MySQL :

Définition des paramètres de base de données

  • Assurez-vous que votre base de données MySQL dispose d'un jeu de caractères et d'un classement corrects en exécutant ces commandes. :

    <code class="sql">SET character_set_database=utf8;
    SET collation_database=utf8_unicode_ci;</code>
    Copier après la connexion
  • Dans la définition du tableau, spécifiez la colonne de stockage des données Unicode sous la forme VARCHAR avec CHARACTER SET utf8mb4 et COLLATE utf8mb4_unicode_ci.

Insertion et récupération de données

  • Lors de l'insertion de données, saisissez directement la chaîne Unicode dans la base de données sans aucune modification.
  • Pour récupérer les données en PHP, exécutez la requête suivante avant de les récupérer :

    <code class="php">mysql_query("SET NAMES utf8");</code>
    Copier après la connexion
  • Utilisez utf8_encode() pour convertir la chaîne Unicode au format UTF-8 avant de l'afficher.

Exemple de script PHP

<code class="php"><?php
header('Content-Type: text/html; charset=utf-8');

// Database connection
include('connection.php');

// Execute query with UTF-8 encoding
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT * FROM `hindi`");

// Fetch and display results
while ($row = mysql_fetch_row($result)) {
    echo utf8_encode($row[0]);
}
?></code>
Copier après la connexion

Dump de base de données

Dump de base de données
<code class="sql">CREATE TABLE `hindi` (
  `data` VARCHAR(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
);

INSERT INTO `hindi` VALUES ('सूर्योदय');</code>
Copier après la connexion

Le vidage de la base de données doit ressembler à ce qui suit :

  • Dépannage

    <code class="html"><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></code>
    Copier après la connexion
  • Assurez-vous que la section d'en-tête HTML inclut le jeu de caractères correct :
  • Vérifiez que le serveur Web est correctement configuré pour gérer les chaînes Unicode.
Si les problèmes persistent, consultez la documentation pertinente ou demandez de l'aide sur des forums comme StackOverflow.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!