Récupération de texte accentué et traitement

Résolu
caccia Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -  
caccia Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -
Salut à tous!

Plus que satisfait de mon dernier passage parmi vous (qui sait, peut-être qu'un jour je pourrai dire parmi nous) je reviens plus fort que jamais et l'esprit avide de connaissance!
Toujours dans le même cadre que mon précédent problème (cf: mes autres postes), je reviens à la charge suite à un soucis que je ne parviens pas à résoudre et ce, malgré mes longues recherches sur la toile!

J'ai une BDD Mysql en utf-8 qui accepte donc les accents lors de l'insertion. Ces mêmes accents apparaissent parfaitement lorsque je récupère les données contenues dans mes différentes tables et que je les affiche sur mes pages.
Jusque là tout va bien.

Ou presque...

En effet, lors de l'ajout d'entrées dans l'une de mes tables, je créé un dossier au nom de la valeur du champs. Exemple pour être plus clair: j'ai une table utilisateur avec un champs nom. Je créé un dossier au nom du l'utilisateur. Jusque là, tout le monde suit?

Problème:
Pour une raison que j'ignore, je n'arrive pas à retirer les accents et caractères spéciaux des mots qui servent à définir le nom du dossier. Cela est source de problèmes multiples puisque lorsque j'essaye de récupérer les fichiers inclus dans ce dossier, impossible de trouver le dossier ou alors soucis lors du téléchargement des fichiers, j'en passe et des meilleurs!
Au passage, je tiens à préciser que j'arrive à retirer les espaces (je les remplace par des underscore).
Plus fort encore lors de la récupération de mes valeurs après envoie par le formulaire, j'arrive à convertir les apostrophes en caractères spéciaux selon le code ASCII.

La question est alors: comment php considère t-il les caractères spéciaux? Les considère t-il comme des entités à part entière (au même titre que les autres lettres par exemple) ou les considère t-il d'une façon particulière?
Les considère t-il différemment avant et après envoie à la BDD?

Au passage je me permets de vous donner les méthodes testées pour traiter mes données et les accents:
str_replace
preg_replace
strtr

Les syntaxes utilisées sont bonnes puisque strictement similaires à celles de la doc php.

So what else? :)
A voir également:

4 réponses

jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
regarde ces 2 fonction :

Rowurlencode et rawurldecode..

met les avant et apres ta création de repertoire, ca devrait résoudre tes soucis ;)
0
caccia Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   16
 
Yeah Baby! Yeah!

Je comprends pourquoi autant de gens ne prennent même plus la peine de lire la documentation php! Tiens, pour te remercier, je te paye une bière virtuelle et même que si t'es sympa, je paierai une seconde tournée!

En tout cas, comme on dit par chez moi: grazia!
0
jjsteing Messages postés 1670 Date d'inscription   Statut Contributeur Dernière intervention   181
 
euh.. j dois comprendre que c'est bon alors.. vu que le post est résolu :)

et ma bierre alors ?? :s
0
caccia Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   16
 
Ouai c'est bon, c'est pas trop ce que je voulais faire au départ mais finallement je m'en satisfait pleinement.

Mon soucis de base était que je voulais convertir les caractères spéciaux en caractères connus du genre "é" en "e" mais pour une raison que j'ignore toujours ça ne fonctionne pas.

Pour te remercier, choisis dans la liste et imagine très fort que tu bois:

http://www.guidedesbieres.com/
0