Maison > base de données > tutoriel mysql > Comment stocker et afficher correctement les chaînes Unicode Hindi en PHP et MySQL ?

Comment stocker et afficher correctement les chaînes Unicode Hindi en PHP et MySQL ?

Patricia Arquette
Libérer: 2024-11-30 20:18:18
original
102 Les gens l'ont consulté

How to Properly Store and Display Unicode Hindi Strings in PHP and MySQL?

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

Lorsque vous travaillez avec des chaînes Unicode, il est crucial d'assurer une manipulation appropriée à toutes les étapes, y compris le stockage dans un base de données, récupération et affichage sur des pages Web. Cet article aborde le problème rencontré par un développeur qui a rencontré des difficultés à afficher du texte hindi dans un script PHP provenant d'une base de données MySQL.

La configuration initiale impliquait la création d'une base de données avec encodage UTF-8 et classement utf8_bin, en ajoutant un varchar champ avec le jeu de caractères UTF-8 et en essayant d'insérer le texte hindi "सूर्योदय:05:30" directement. Cependant, lors de la récupération et de l'affichage des données à l'aide de echo(utf8_encode($string)), le navigateur a renvoyé "??????."

La raison de ce comportement réside dans la non-concordance de codage des caractères. Le texte "सूर्योदय" doit être stocké au format UTF-8, mais il a été copié directement à partir d'une source où il était probablement encodé dans un format différent. Pour résoudre ce problème, deux méthodes peuvent être utilisées :

  1. Encoder à l'aide de "view source" : Ouvrez la "view source" de la page Web où le texte apparaît correctement, copiez le caractère codes (सूर्योदय dans ce cas), puis insérez cette chaîne codée dans la base de données.
  2. Définissez les NOMS et le JEU DE CARACTÈRES : Vous pouvez également modifier les paramètres de connexion à la base de données dans votre script PHP pour définir explicitement le jeu de caractères et collation. Cela garantit que les données sont stockées et récupérées en utilisant le même codage. Voici un exemple :
$result = mysql_query("SET NAMES utf8");
$cmd = "select * from hindi";
$result = mysql_query($cmd);
Copier après la connexion

En utilisant l'une ou l'autre de ces méthodes, le texte hindi peut être stocké correctement dans la base de données et restitué correctement sur une page Web.

Concernant la question de un script pour convertir du texte hindi en codes de caractères HTML, vous pouvez rechercher des outils ou des bibliothèques en ligne offrant cette fonctionnalité. De plus, les sites Web de codes de caractères HTML (par exemple, https://www.w3schools.com/charsets/ref_html_utf8.asp) peuvent être utilisés pour obtenir les codes de caractères pour des caractères Unicode spécifiques.

Il est important de noter que lorsque affichant des caractères hindi sur une page Web, il est essentiel de préciser le jeu de caractères dans l'en-tête HTML ou d'utiliser une commande d'en-tête PHP pour s'assurer que le navigateur interprète le texte correctement.

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.cn
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