Bonjour à tous !
Je viens de passer une bonne partie de ma soirée à essayer de résoudre un problème, aussi viens-je vers vous pour solliciter de l'aide. Je suis très novice en php, mais j'apprends relativement vite.
Voici ce que j'essaye de faire : j'ai une base de donnée SQL dans laquelle sont rangées des informations sur des cartes à collectionner. L'un des chant précise le type de carte (créature, enchantement, terrain...). Je voudrais donc programmer quelque chose qui puisse vérifier si la carte sélectionnée est de type "Créature" ou non. Deux problèmes à cela :
- le risque que "Créature" soit entré dans la base de donnée sans majuscule, et sans accent
- le fait que le type de la carte ne sera jamais "Créature" seul, mais plutot "Créature : gobelin", ou "Créature-artefact"...
Voici donc ce que j'ai fait :
$type = $donnees['crt_type']; // 1. on récupère le type dans la bdd
$type = strtolower($type); // 2. on met tout en minuscule
$type = str_replace("é", "e", $type); // 3. on remplace les 'é' par des 'e'
if(ereg('creature', $type)) { // 4. on vérifie si $type contient 'creature'
...
}
Les 1 et 2 fonctionnent bien. Mais le 3 ne fonctionne pas : le 'é' reste 'é'. J'ai tout essayé, mais sans succès. Aprés avoir parcouru de nombreux forums, il semble que ça vienne d'un problème d'encodage, mais là, j'avoue que je ne comprend pas du tout !
Nota :
$type = str_replace("é", "e", "créature");
Ca, ça fonctionne.
Merci d'avance de votre aide...
EDIT : je suis désolé, je n'ai pas du tout posté dans la bonne catégorie. Si un modo pourvait déplacer mon sujet... :-S