IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

convert code ascii en UTF8 (arabe)


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut convert code ascii en UTF8 (arabe)
    bonjour , je besoin d un aide je veux faire une convesion d un code asccii(1575;1604;1576;1585;1575;1602) en UFF8. j ai utilisé la fonction chr de php mais mon probleme est que je n arrive pas a les convertir en caractère arabe. comment dois je faire pour les convertir en caractère arabe
    merci d avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Ces nombres (1575, 1606, etc.): ne sont pas des codes ASCII mais des numéros Unicode (codepoint en anglais).

    Pour faire apparaitre les caractères correspondants sur une page web:

    En html:
    En php:

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci de ton aide au faite j ai que cette chaine(1575;1604;1576;1585;1575;1602) dans ma base données comment pourrais je l afficher en caractere arabe, j ai aucune idée de ces unicode

    merci d avance

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function translate($chaine)
    {
    	return '&#'.implode('; &#', explode(';', trim($chaine))).';';
    }
     
    $chaine = '1575;1604;1576;1585;1575;1602';
    echo translate($chaine);
    ?>

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci bien , ça marche bien

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    bonjour je suis de retour pour un petit de soucis. j ai tester cette fonction sans ma base de données elle fonction bien mais si je recupere les données de ma base de données sa fonctionne mais avec des caractères (&#) qui s y ajoute.
    quelequ'un a une idée comment enlever ces caractères qui s y ajoute merci d'avance

  7. #7
    Invité
    Invité(e)
    Par défaut
    A quoi ressemble une chaine récupérée de la BdD ?

    => donne un exemple (de chaine dans la BdD)
    => montre-nous ton code

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci bien , bon voici
    ma chaine dans la base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1575;1604;1576;1606;1603;32;1575;1604;1605;1608;1585;1610;1578;1575;1606;1610;32;1604;1604;1578;1580;1575;1585;1577;32;1575;1604;1583;1608;1604;1610;1577;
    voici comment j ai codé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     public  function unicode_utf8($chaine)
               {
     
    	        return   '&#'.implode('&#',explode(';',trim($chaine)));
     
     
               }
           //  appel de  la  fonction unicode_utf8()
     
       $template->set_var('nom', utf8_encode($this->unicode_utf8($value->nom_ar)));

  9. #9
    Invité
    Invité(e)
    Par défaut
    une petite correction du code :

    Voici une version optimisée (adaptée à ton cas particulier) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		return '&#'.str_replace(';', '; &#', trim($chaine,';')).';';
    Dernière modification par Invité ; 14/05/2012 à 15h26.

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci beaucoup ça fonctionne

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    bonjour je reviens ici pour toujours les memes problemes avec les unicodes
    je veux faire cette fois faire ceci: contourner les espaces et les tirets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       1578;1606; 1575;1587;1608;1610;1604;1605; - 1583;1575;1585; 1575;1604;1606;1593;1610;1605;
    je veux contourner les espaces et les tiret comment dois je faire merci de votre aide

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    aidez moi a debloquer ce probleme je veux contourner les spaces les tirets et le nombre 24 comment dois je faire merci d avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1605;1604;1578;1602;1609; 1591;1585;1602; 24 - 1605;1604;1581; - 1581;1575;1603;1605; 1575;1604;1585;1610;1575;1590;

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace('/[0-9]{4};/', '&#$0', $chaine);

  14. #14
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci de ton aide pourrais vous me donner la correspondance de &#$0 en unicode merci car ce code me m affiche le nombre 24 merci

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    c'est le regex pas de l'unicode

  16. #16
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    oui par exemple pour afficher les space j utilise ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $chaine  =str_replace(' ', '0020;' ,$chaine);
    maintena j amierai avoir ce correspondant en unicode par 0020 pour l afficher merci pour une nouvelle idée d afficher les nombre

  17. #17
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    mon code permet de tout convertir utilise le

  18. #18
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Par défaut
    merci infiniment ça marche bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code ASCII du symbole Euro
    Par FW-S dans le forum Delphi
    Réponses: 9
    Dernier message: 03/04/2007, 01h27
  2. [Hardware portable] Comment entrer un code Ascii?
    Par l.sage dans le forum Ordinateurs
    Réponses: 13
    Dernier message: 11/08/2005, 13h04
  3. fonction redonnant le code ascii d'un entier ???
    Par abignon dans le forum MFC
    Réponses: 4
    Dernier message: 29/01/2004, 12h32
  4. [mx2004]Convertir un code ASCII en une lettre
    Par caramel dans le forum Flash
    Réponses: 3
    Dernier message: 28/01/2004, 16h26
  5. [TP]Code ASCII.
    Par franck H dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 18/01/2004, 19h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo