Afficher l'Arabe dans une page PHP

Résolu
ultra_chardo -  
Pitet Messages postés 2845 Statut Membre -
Bonjour,

je suis en train de créer un site web comme un blog et j'ai rencontré un problème d'affichage des caractères Arabe
NB: ce site peut afficher des poste en arabe comme en français

1- j'ai créer une base de donnée en définissons l'interclassement utf8_bin donc tous les tables doivent s'écrire en utf_8

2- j'ai créer une page HTML avec les paramétres suivants:

<html dir="rtl" lang="ar" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
$hostname='localhost';
$username='root';
$password='';

$db = 'BaseDeDonnee';

mysql_connect($hostname,$username,$password) or die("Erreur de connexion");
mysql_query("SET NAMES utf-8" );
mysql_query("set characer set utf-8" );
mysql_select_db($db) or die("Erreur base de donnée");

$sql = "SELECT * FROM test" ;
$req = mysql_query($sql);

$num_row =mysql_num_rows($req);

if($num_row == 0) {
echo "Aucun enregistrement" ;
}else{
while($data = mysql_fetch_assoc($req)){
echo $data['id'].'<br/>';
echo $data['text'].'<br/>';
}
}

?>
</body>
</html>

mais quand j'affiche la page sa donne comme ça : ???????

je ne sais pas c'est quoi le problème que j'ai fait

merci pour votre collaboration

Amicalement

1 réponse

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Le problème vient peut-être de l'encodage du fichier .php
    Tu peux changez l'encodage avec par exemple Notepad++ dans le menu Encodage puis Convertir en UTF-8 sans BOM.

    Bonne journée
    1
    1. ultra_chardo
       
      bonjour,

      je m'excuse pour le retard mais j'ai déjà testé cette méthode

      les données en arabe sont bien visible dans la table et quand j'écrit directement dans la page en arabe sa s'affiche donc je crois que j'ai un problème lors du chargement de la base

      je ne sais pas ou est le problème

      merci pour votre aide
      0
    2. ultra_chardo
       
      boujour

      aprés un long recherche ce matin j'ai trouver la solution

      $link = mysql_connect($hostname, $username, $password) or die("Problème de connexion au serveur !!!");
      /* je doit ajouter ce bout de code */
      mysql_query("SET CHARACTER SET 'utf8';", $link)or die(mysql_error());
      /* je doit ajouter ce bout de code */
      mysql_select_db($db) or die("Problème de base de donnée !!!");
      0
    3. Pitet Messages postés 2845 Statut Membre 530
       
      Bien vu, il fallait reprendre l'identifiant de connexion dans la fonction mysql_query.
      Merci pour ton retour.
      0