Bonjour bonjour !

Je rencontre un problème depuis quelques temps et malgrès mes recherches je n'ai pas trouvé de solution satisfaisante...
C'est pourquoi je m'en remet à vous !

Je dispose d'un formulaire encodé iso-8859-1 qui envoie des données POST encodées UTF8 à une fonction qui génère un document XML encodé UTF8 à partir des données reçues.
Ces données se composent essentiellement d'un titre et d'un contenu d'article.

Problème : les données récupérées par la fonction qui génère les XML posent problème lorsque le/les chaîne(s) contiennent des accents.

Voici le format de données que je récupère dans la fonction :

titre à tester accentué
où la chaîne entrée vaut :

titre à tester accentué

J'ai plusieurs questions :

- Comment convertir ces données pour les rendre telles que lorsque elles ont été entrées ?
- Comment générer un nom de fichier XML où les espaces sont remplacés par des tirets et les lettres avec accents par leur équivalent sans accent ?

J'ai essayé tous types de solutions (utiliser str_replace pour remplacer les espaces par des tirets puis utiliser strtr() pour remplacer les lettres avec accents par leur équivalent sans accents...) mais au final j'ai toujours des caractères bizarres et des noms de fichiers invalides

Exemple de code dont je me suis servi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$titre = str_replace(' ', '-', $titre);
$titre_ss_accents = strtr($titre, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ'", "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn-" );
Merci de m'éclairer

Peace