Je suis passé en UTF8. J'ai converti les fichiers, les données des fichiers et supprimé le BOM des fichiers.
Par contre pour la base de données, j'ai du utiliser mysql_query("SET NAMES 'utf8'"); faute de pouvoir convertir mes données.
Voila la fonction qui déconne :
echo NomImage('léwàwäwïwBleur'); écrit dans un fichier UTF8 en UT8 me donne : laewawaawa�wbleur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function NomImage($nom='') { $patterns=array ( '/[\'\s]/', '/([ä])/', '/([ ])/', '/([é])/', '/([ê])/', '/([è])/', '/([à])/', '/([â])/', '/([û])/', '/([î])/', '/([ô])/', '/([,])/', '/([-])/', '/([:])/', '/([!])/', '/([\'])/' ); $replac=array ('', 'a', '', 'e', 'e', 'e', 'a', 'a', 'u', 'i', 'o', '', '', '', '', '\'' ); $nom=preg_replace($patterns, $replac, $nom); return strtolower($nom); }
echo NomImage('léwàwäwïwBleur'); venant de la BDD me donne : laewawaawa
L'ajout et l'affichage de léwàwäwïwBleur dans la bdd ne pose aucun soucis, il est enregistré et affiché correctement. C'est seulement cette fonction qui débloque.
Pourquoi ca débloque ? Ce n'est pas l'encodage du fichier qui contient la fonction.
Partager