[PHP] Conversion unicode, caractères arabes

Nymphomaniaque Messages postés 55 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 14 octobre 2012 - 2 mai 2011 à 13:18
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 2 mai 2011 à 15:19
Bonjour,


Je lis un fichier, je récupère une chaîne de caractère, celle-ci par exemple : "\u0644\u0628\u0646\u0649 \u0627\u0644\u0633\u0631\u064a\u0639\u0629"
Je la stocke dans la base de données comme elle est, mais lorsque je veux l'afficher en php, elle s'affiche comme elle est alors que moi, j'aimerai l'afficher en lettres arabes, quel type de conversion dois je effectuer. Y a t il une fonction bien précise qui prend en charge cette opération ?
Merci d'avance.

A voir également:

3 réponses

Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
2 mai 2011 à 14:07
Bonjour,

je suis pas fan des encodages (je dirais meme que ca me gave souvent^^) mais si les morceaux de ta chaine correspondent a des caractères arabes \u0644 par exemple c'est qu'ils sont deja encodé, trouve la table qui encode les caractères de cette manière décode tout ca grace a cette table et t'aura tes caractères arabes.
1
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
2 mai 2011 à 14:09
citation de rmed19:

bonjour

j'avais le meme probleme le solution
1- il faut que t'a base soit codé en cp1256
exemple : CREATE DATABASE mabase CHARACTER SET cp1256;
2- il fait que le codage de la page soit en utf8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3- apres la connexion à la base dans le fichier mysql mait cet commande
$link = mysql_connect ("localhost","root") ;
mysql_query("SET CHARACTER SET 'utf8';", $link)or die(mysql_error());

0
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 340
Modifié par mpmp93 le 2/05/2011 à 15:20
Bonjour,

c'est très simple:
1) il faut que l'encodage du champ dans la table de la base de données soit en UTF-8: Utf8-general-ci est conseillé

2) la page HTMl doit accepter l'encodage UTF8:

<html>
<meta charset='UTF-8'>
.....

3) on a un champ de saisie, on saisit en arabe: ?????? (<- ici texte en arabe...)

4) on enregistre et on vérifie le contenu dans la base de données. On doit retrouver ?????? (<- ici texte en arabe...)

5) pour afficher, c'est hyper-méga-extra simple:

echo $row['ville_vo'];

affiche ?????? (<- ici texte en arabe...)

marche aussi pour le russe, le japonais, le hindi, le sanscrit, etc...


A+
0