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

Langage PHP Discussion :

Latin1 <-> Utf8 Problème : afficher correctement les accents ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut Latin1 <-> Utf8 Problème : afficher correctement les accents ?
    Re!

    Rappel :
    Site en UTF8
    Base en Latin1

    Je n'ai finalement pas résolu mon problème!

    Si j'ai réussi à afficher tous les accents sans aucun problème sur le site, que ce soit en dur ou provenant de la base, ce que j'intègre par contre dans la base devient des "?" ou autre caractères encodé différement.

    Je n'ai trouvé aucune aide sur le net bien qu'ayant testé maintes solutions!
    Qlqun peut m'aider? (j'ai testé la requete SET CHARACTER SET latin1 -ou utf8- pour forcer le jeu de caractère et aussi des header approprié mais rien y fait)

    Question plus simple :
    Y a til possiblité d'afficher correctement les accents aussi bien dans la base que sur le site et avec des encodages différents sur les deux, càd en n'utilisant que du développement pour effectuer les conversions?? J'ai l'impression que non! Mais si c'est possible, renseignez-moi svp!
    Merci

  2. #2
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    La bonne pratique est de n'utiliser que le même encodage sur toute ta chaine de production et de ne jamais les mixer entre eux, mais ceci est valable dans la théorie, dans la pratique on est parfois obligé de mélanger (reprise d'un vieux site, d'une vieille base, etc...)

    Essaye de lire ce que j'avais écris ici et voir si quelque chose la dedans te permets de t'en sortir ou tout au moins te donne une piste pour démarrer:
    http://www.developpez.net/forums/sho...49&postcount=3

  3. #3
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    He oui je le sais bien seulement j'utilise un server américain sur lequel je n'ai aucun droit! Donc je dois faire avec l'ISO seulement mon site est dev en utf8!

    merci pour ton lien, je jette un oeil a+

  4. #4
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    Il y a bien des fonctions PHP qui convertissent l'encodage, mais c'est sans garantie car je ne les ai jamais utilisées:

    Voir http://fr3.php.net/mb_convert_encoding

    Voir peut-être aussi la: http://fr.php.net/manual-lookup.php?...nvert+encoding

    Et encore la: http://fr2.php.net/iconv

  5. #5
    Membre confirmé Avatar de waldo2188
    Profil pro
    Chef de projets
    Inscrit en
    Mars 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chef de projets

    Informations forums :
    Inscription : Mars 2004
    Messages : 115
    Par défaut
    Salut,
    Ha les joies de l'encodage, quel belle merde à gérer
    Je te conseile (pour en avoir bouffé) :
    utf8_encode : http://fr2.php.net/utf8_encode
    utf8_decode : http://fr2.php.net/manual/fr/function.utf8-decode.php

    ces deux fonctions m'ont bien été utile, en espérant quel te serve.

  6. #6
    Membre chevronné
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Par défaut
    Salut, déjà tu dois convertir toutes tes tables en utf8_latin_ci, ainsi que les champs textes en utf8_latin_ci (text, varchar).

    Ensuite tu dois mettre à jour tes anciennes données dans les tables en les convertissant en utf8 : iconv() si ton hébergeur le gère, ou bien utf8_encode()

    Enfin n'oublie pas de spécifier le header UTF-8 dans l'encodage de tes pages.

    @+
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

Discussions similaires

  1. [Oracle] Afficher correctement les nombres décimaux
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/11/2010, 17h57
  2. Afficher correctement les données d'un dataGrid
    Par alpesneige dans le forum Flex
    Réponses: 3
    Dernier message: 12/10/2009, 15h10
  3. [MySQL] Impossible d'afficher correctement les données
    Par vacknov dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/12/2008, 22h08
  4. [SQL] Comment afficher correctement les caractères accentués ?
    Par innova dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/01/2007, 11h35
  5. [Oracle] afficher correctement les accents? (ou 'charset hell'!)
    Par malk.zameth dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/08/2006, 12h32

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