Maison >base de données >tutoriel mysql >Comment stocker et afficher correctement du texte hindi à l'aide de PHP et MySQL ?

Comment stocker et afficher correctement du texte hindi à l'aide de PHP et MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-28 18:17:14181parcourir

How to Properly Store and Display Hindi Text Using PHP and MySQL?

Stockage et affichage de chaînes Unicode (हिन्दी) à l'aide de PHP et MySQL

Problème :
L'utilisateur rencontre des difficultés pour stocker et afficher l'hindi texte dans une base de données MySQL en utilisant PHP. Le texte apparaît comme "???????" lorsqu'il est récupéré et repris à l'aide de utf8_encode().

Solution :
Pour résoudre le problème, les étapes suivantes doivent être suivies :

  1. Définir le codage de la base de données : assurez-vous que le codage et le classement de la base de données sont tous deux définis sur UTF-8. Cela se fait en exécutant la requête "SET NAMES utf8" avant toute opération de base de données.
  2. Spécifiez le jeu de caractères dans la base de données : lors de la création de la table et du champ qui stockeront le texte hindi, spécifiez le caractère défini comme UTF-8.
  3. Définir l'encodage de la page : dans la section d'en-tête HTML de votre page PHP, ajoutez une méta balise pour définir l'encodage de la page sur UTF-8 :
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  1. Définir l'en-tête du type de contenu : Vous pouvez également définir le type de contenu dans votre script PHP en utilisant :
header('Content-Type: text/html; charset=utf-8');
  1. Exemple de script PHP : Le script PHP suivant démontre le processus :
<?php
include("connection.php"); // Include database connection
mysql_query("SET NAMES utf8"); // Set database character set
$result = mysql_query("select * from hindi"); // Fetch data from the database
while ($myrow = mysql_fetch_row($result)) {
    echo ($myrow[0]); // Echo the Hindi text
}
?>
  1. Table de base de données : La structure de la table de base de données devrait ressembler à ceci :
CREATE TABLE `hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Notes supplémentaires :

  • L'utilisateur a également posé des questions sur un script potentiel à convertir Texte hindi en entités HTML. Cependant, il n'existe pas de script de ce type dans la solution fournie.
  • L'utilisateur a demandé comment fonctionnait le script PHP sans spécifier le "META" ou les informations d'en-tête. Cependant, la solution proposée implique de définir le jeu de caractères à la fois dans le script PHP et dans la section d'en-tête HTML, ce qui est essentiel pour afficher correctement le texte hindi.

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!

Déclaration:
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