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...