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 :

Convertir caratères ISO


Sujet :

PHP & Base de données

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut Convertir caratères ISO
    Bonjour,

    Je souhaiterai convertir les è (par exemple) de "Microsoft lance sa première application Andro..." qui se trouvent dans ma base de données en caratères "normaux" é à è ...

    J'ai testé avec la fonction htmlentities et html_entity_decode mais ça ne fonctionne pas.

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    pourrais-tu nous en dire plus que "ca ne fonctionne pas" ?
    Que fais-tu ? Qu'obtiens-tu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Citation Envoyé par sabotage Voir le message
    pourrais-tu nous en dire plus que "ca ne fonctionne pas" ?
    Que fais-tu ? Qu'obtiens-tu ?
    Soit ça coupe le mot, soit ça transforme en caractère HTML en fonction de l'ordre d'application des fonctions.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est quoi un caractère HTML ?
    Quand tu dis "ça coupe le mot", tu veux dire que tu n'as rien après le caractère accentué ou qu'il y a un trou ?

    Tu n'as pas indiqué de quelle manière tu procédais actuellement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Salut,

    Je pense que si je résous cet autre problème, il me sera plus simple de régler mon premier problème.

    Il s'agit en faite d'un code permettant de parser des fichiers xml.

    Je récupérer le code source via la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $CodeSource = @implode('', @file("http://$R_AdresseFlux"));
    Puis j'insère les éléments:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO item (TitreItem) VALUES ('".utf8_encode($ItemTitle)."')
    Cependant sur certains flux J'ai des caratères:

    Google : SearchWiki c'est fini, voici venu le temps des étoiles...
    Flux:http://pipes.yahoo.com/pipes/pipe.ru...aa&_render=rss

    Ou encore:

    Steve Ballmer ne désespère pas que Bing devienne numéro un et dépasse Google, le PDG de Microsoft explique pourquoi
    Flux:http://php.developpez.com/index/rss

    Ma base de données est en UTF8-Unicode ainsi que ma page php et la connexion.

    J'utilise actuellement une fonction qui convertit tout les caractères spéciaux (é à è ...) en html (& eacute).

    Merci

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ce que tu vois c'est un caractère accentué écrit en UTF8 mais affiché en ISO.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Citation Envoyé par sabotage Voir le message
    ce que tu vois c'est un caractère accentué écrit en UTF8 mais affiché en ISO.
    Pourquoi il me l'affiche en ISO ? Ma page HTML est en UTF-8

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Merci

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il est surement mal lu/enregistré dans ta base.
    Dans les deux cas un petit coup de
    "SET NAMES 'UTF8'" avant la requete devrait aider.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Salut,

    J'ai déjà ça en haut de ma page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mysql_query("SET NAMES 'utf8'");
    mb_internal_encoding("UTF-8");
    header('Content-Type: text/html; charset=UTF-8');
    Merci

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    dans phpmyadmin tu vois les accents correctement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Citation Envoyé par sabotage Voir le message
    dans phpmyadmin tu vois les accents correctement ?
    Non, ça m'affiche exactement comme dans la page html:

    Steve Ballmer ne désespère pas que Bing devienne numéro un et dépasse Google, le PDG de Microsoft explique pourquoi

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu fais le SET NAMES également pour l'insertion ?
    Ta base est bien en UTF8 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu fais le SET NAMES également pour l'insertion ?
    Ta base est bien en UTF8 ?
    Oui ma base est bien en UTF8

    Le SET NAMES est exécutée une fois en haut de page.

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi tu ajoutes un utf8_encode() si tu es déjà tout en UTF8 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Pourquoi tu ajoutes un utf8_encode() si tu es déjà tout en UTF8 ?
    Les flux que je télécharge ne sont pas forcement en UTF-8.

Discussions similaires

  1. Réponses: 21
    Dernier message: 29/12/2012, 20h41
  2. Convertir de ISO-8859-1 en UTF-8
    Par nico2006 dans le forum C++
    Réponses: 5
    Dernier message: 19/03/2009, 01h18
  3. Convertir une chaîne utf8 en iso-8859-1
    Par dredre dans le forum ASP
    Réponses: 1
    Dernier message: 05/05/2006, 00h48
  4. Convertir des chaines de caratères en chiffres
    Par Mr Hyde dans le forum Général Python
    Réponses: 1
    Dernier message: 06/09/2005, 15h18
  5. Convertir une chaine UTF8 en ISO-8859-1
    Par eods dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 26/08/2004, 16h57

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