web-dev-qa-db-fra.com

Comment afficher des données Unicode avec PHP

table 'abc' data :

tid    title

  1      வெள்ளிக்கிழமை ஐ.

  2      கோலாகல தொடக்க 


$sql=mysql_query("select title from abd where tid='1'");

$row=mysql_fetch_array($sql);

$title = $row['title'];

echo $title;

OutPut affichant comme ceci:

????????????????

Mais je veux afficher

வெள்ளிக்கிழமை ஐ.

Solution

<?php
    mysql_query ("set character_set_results='utf8'");   

    $sql=mysql_query("select title from abd where tid='1'");

    $row=mysql_fetch_array($sql);

    $title = $row['title'];

    echo $title;

?>
20
Egglabs

Essayez de définir le codage des caractères après la fonction mysql_connect comme ceci:

 mysql_query ("set character_set_client='utf8'"); 
 mysql_query ("set character_set_results='utf8'"); 

 mysql_query ("set collation_connection='utf8_general_ci'"); 
37
antyrat

Pour la nouvelle version dePHPqui utilisait mysqli, utilisez ce code après vous être connecté à mysql:

mysqli_set_charset($link, 'utf8');
8
MohsenB

Essayez de vous assurer que le navigateur reconnaît la page en tant que Unicode.

Cela peut généralement être fait en envoyant à votre serveur l'en-tête HTTP Content-type correct, qui inclut le jeu de caractères que vous utilisez.


Par exemple, quelque chose comme ceci devrait fonctionner:

header('Content-type: text/html; charset=UTF-8');
echo "வெள்ளிக்கிழமை ஐ";


Si cela fonctionne et que votre page générée dynamiquement ne fonctionne toujours pas:

  • assurez-vous que vos données dans votre base de données MySQL sont également dans UTF-8
    • cela peut être défini pour chaque table, ou même des colonnes, dans MySQL
  • et assurez-vous que vous vous y connectez en utilisant UTF-8.

Fondamentalement, toutes vos applications doivent utiliser le même encodage:

  • Fichiers PHP,
  • Base de données
  • Serveur HTTP
6
Pascal MARTIN

exécuter l'ordre

SET NAMES 'utf8'

juste après la connexion à la base de données

3
Silver Light

Vous devez d’abord convertir votre format de données mysql en utf-8 , consultez ce superbe article de oreilly:

.

Conversion des données MySQL en UTF-8

.

Après cela, assurez-vous que le type de codage de votre page est utf-8 :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
1
Sarfraz
<?php header('Content-type: text/html; charset=UTF-8');echo "<font face='Bamini' size='5'>" . "m.Nkhfd; Fkhh;" ."<br />";
echo "<font face='Bamini' size='10'>" . "m.Nkhfd; Fkhh;" ."<br />";
?>

or

<?php
header('Content-type: text/html; charset=UTF-8');
echo "வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ à®";
?>
0
Mohan Kumar