2017-10-14 1 views
0

Je développe un site web en utilisant php et mysql et j'ai stocké les données Marathi dans la base de données et affiche sur la page web mais ses émissions comme ????????. Pour résoudre ce problème, j'ai utilisé utf8 Unicode J'ai mis la base de données et la table à utf8 également ajouté sous le code dans le fichier de connexion après la connexion $ con = mysql_connect ("localhost", "root", ""); FonctionComment afficher les textes hindi/marathi en utilisant php et mysql sur la page web

mysql_query("SET character_set_results=utf8"); 
mysql_query("SET names=utf8"); 
mysql_query("SET character_set_client=utf8"); 
mysql_query("SET character_set_connection=utf8"); 
mysql_query("SET character_set_results=utf8"); 
mysql_query("SET collation_connection=utf8_general_ci"); 

a également mis l'$result = mysql_query("SET NAMES utf8"); avant que les données vont chercher interroger le problème de point d'interrogation résoudre maintenant, mais les affichages de données « 0au120bhu908hgsbdch761 » comme ça.

+0

Avec 'php' vous pouvez utiliser' utf8_encode() 'et' utf8_decode() '. En savoir plus: http://php.net/manual/fr/function.utf8-encode.php –

+0

Vous devez lire 'UTF-8 jusqu'au bout' - https://stackoverflow.com/a/279279/80836 – Andreas

+0

dans votre tête et arrêtez d'utiliser mysql api.Il est retiré depuis PHP 7.0 –

Répondre

0
  1. Est-ce pas utiliser l'interface PHP de mysql_*. Passez à mysqli_* ou PDO.

  2. Voir this

  3. SELECT HEX(...) FROM ... ("Test les données", sur le lien) pour voir ce qui ont été stockées. Pour la plupart des jeux de caractères indiens, je m'attendrais à 3 octets: E0 Ax yy ou E0 Bx yy.

  4. Voir « Best Practice » (sur le lien).. Il peut vous aider à la maison dans ce qui doit fixer d'autre recherche de question marks peut aider maintenant