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 :

Probleme de caracteres utf8


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 60
    Par défaut Probleme de caracteres utf8
    Bonjour,

    J'ai problème qui me pose des soucis depuis hier, je ne vois pas comment m'en sortir !

    Je récupérais des données d'un site (charset=iso-8859-1) via la fonction fopen avec traitement de caractères et interaction avec la base de données sans problèmes règlée sur "latin1_general_ci" au niveau des chaines de caractères...

    Là, je me décide de changer de site pour récupérer mes infos, le site est en charset=utf-8 , tout fonctionne sauf quand le nom d'une ville a un accent genre nîmes

    le code qui m'intéresse n'est pas compliqué en soi, je lui envois le nom d'une ville et il me retourne le champ d'une colonne voisine correspondant mais pour les villes avec accent, ça ne retourne rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $query = "SELECT `NamesSoft` FROM `championnats` where `NamesWeb`='$Equipe1' ";	
    	  $result = mysql_query($query);
    	  list($Eq1) = mysql_fetch_row($result);
     
    	  echo "Eq 1 : "."$Eq1"."<BR>";
    j'ai donc mis ma page php en charset=utf-8 pour avoir l'affichage correct et j'ai modifié la structure de ma base de données en remplaçant "latin1_general_ci" par "utf8_bin" pour que tout soit en utf-8 à savoir la page que je récupère du site, mon script qui affiche le resultat et ma base de données mais malgré cela, les villes avec accents ne pointe sur rien, ça donne ceci au debuguage en plaçant des echo...

    Equipe1 : Châteauroux
    Equipe2 : Le Havre
    Eq 1 :
    Equipe1 :
    Equipe2 : Le Havre
    La ville s'affiche correctement avec l'accent mais quand je lui demande de chercher cette ville dans la base de données (que j'ai réglé en utf8 mais en iso ça déconne pareil), il ne voit pas la ville dans la BDD alors que ce qui est dans la base de données et ce qui s'affiche est la même chaîne ! Je sais qu'entre ce qu'on affiche et la manière donc les caractères sont codés comportent des nuances mais je ne vois pas comment faire sans passer par du bricolage...

    J'ai aussi essayé de passer la chaine par les fonctions utf8_decode() et utf8_encode() mais ça n'a rien changé...et les chaines sont pourtant passées par la fonction trim() pour virer les caractères invisibles de début et de fin et comme ce sont des chaines d'un seul mot, et qu'en plus, ça ne plante que sur les mots avec accents, y a un souci de decodage mais je ne vois pas la fonction ou la méthode à utiliser...

  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
    Est-ce que le nom de la ville est correctement transcrit quand tu regardes ta tables avec phpmyadmin ?

    De la lecture sur le sujet :
    http://antoun.developpez.com/mysql5/...Collations.pdf
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 60
    Par défaut
    En reprenant l'exemple de la ville de "Châteauroux", si par correctement transcrit, tu demandes si je vois bien Châteauroux dans le champs de la table et bien la réponse est oui, il est écrit correctement sans caractères exotiques dans phpmyadmin.

    Merci pour le lien, j'ai commencé la lecture, que je poursuivrai ce weekend, car au boulot, et j'ai déjà compris certaines choses... par exemple, je me suis mis en "ut8_bin" sensible à la casse et aux accents alors que je fais une recherche par nom de ville donc je m'en fiche des accents et des majuscules dans la recherche, donc déjà, en rentrant, je passerai tout en "utf8_general_ci" insensible à la casse et aux accents même si ça n'explique pas le problème car s'il compare Châteauroux avec Châteauroux, il devrait renvoyer quelquechose sensible ou pas.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 60
    Par défaut
    Voilà, au calme en weekend, il m'a fallu 10mn pour que ça marche...!

    J'ai tout remis au format d'origine charset=iso-8859-1 et latin dans ma base

    avec cette ligne c'est passé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Equipe1 = utf8_decode($Equipe1);
    sauf que je l'avais déjà essayé, donc je n'y comprends pas trop, je l'avais peut être testé sur équipe 1 en regardant le résultat sur équipe 2 ou inversement...

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

Discussions similaires

  1. Problème de caractère sous un terminal PuTTY
    Par Faith's Fall dans le forum Debian
    Réponses: 2
    Dernier message: 01/01/2006, 14h18
  2. [XML] Probleme de caracteres spéciaux
    Par Azonec dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 13/12/2005, 15h48
  3. [Dates] Probleme de caractere
    Par airben dans le forum Langage
    Réponses: 6
    Dernier message: 14/09/2005, 17h03
  4. Probleme de caractere de fin de ligne
    Par mask66 dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 20/07/2005, 14h09
  5. [langage] Probleme avec caractère '$' dans script Perl
    Par zouetchou dans le forum Langage
    Réponses: 11
    Dernier message: 24/07/2004, 15h35

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