Problème d'affichage de données Arabe

mstr -  
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Éditer


salut tout le monde,j'ai un problème d'affichage de données stocker en arabe dans une table avec Mysql encodé en "utf8_unicode_ci" (la table et les champs texte).
mais quand j'essaie de les afficher dans une page php,le navigateur m'affiche "????".
j'ai essayé beaucoup de solutions proposé sur internet mais je n'arrive pas encore à résoudre le problème.

la balise meta de ma page php:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

la connexion à la base de données:
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    $bdd = new PDO('mysql:host=localhost;dbname=teest', 'root', '', $pdo_options);

merci .

A voir également:

1 réponse

mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

Vous utilisez PDO, qui est une virtualisation de mysql ou mysqli. Pour bien gérer toute la chaîne des données en UTF8, il faut faire deux requêtes SQL d'ouverture à la base de données:

function connect() {
    $connection = mysql_connect($host,$user,$password);
    $db_selected = mysql_select_db($base, $connection);
    if (!$db_selected) {
        echo 'Impossible d\'utiliser la base : ' . mysql_error();
        return;
    }
    $dbh = $db_selected;
    // si encodage UTF-8 des données de la base, sinon mettre cette ligne en commentaire
    mysql_query("SET NAMES 'utf8'");
}


en gras celle qu'il ne faut pas oublier

Tout est expliqué ici, à vous d'adapter à PDO:
https://html5.immo-scope.com/article/general_basedeDonneesFullUTF8

A+
0