8791 sujets

Développement web côté serveur, CMS

Bonjour,

Mon problème est le suivant : j'ai un script d'upload d'images qui bug. En effet, mes caractères spéciaux ne sont pas pris en compte, certain sont remplacé par des underscrore ou des �, surement un problème d'encodage.
J'ai essayé d'ajouter un header en php, mon code html est encodé en utf-8 par le charset, visant à convertir mon index en utf-8, mes pages sont encodés en UTF-8 avec Dreamweaver, j'ai forcé l'insertion en UTF-8 des informations dans ma BDD, j'ai même parsé mes champs de formulaire de façon à enlever tout éléments indésirable.

Mon objectif, et de convertir une chaîne de caractère, en ne gardant que les chiffres de 0 à 9, les lettres A à Z et a à z. J'ai un titre d'image qui s'enregistre (mal) dans ma BDD, et l'image en question qui est enregistré dans un dossier sur le FTP.

PS : Je suis chez OVH.
PS2 : Voici le site en question (ou ça bug) : http://laurentmonloubou.fr/galerie,test

Voici une des choses que j'ai testé :

$string = strtr($string,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ- ","aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn__"); 


ou encore :

$url=preg_replace('à', 'a', $url);


D’avance merci de votre aide, bien cordialement, Gada.
Modifié par Gada (05 Aug 2011 - 14:11)
Bonjour,
Solution 1: trouve un autre "fixe" exemple : $url = htmlentities($url, ENT_COMPAT, 'UTF-8');
Solution 2: change de script.
Solution 3: Il me faudrait plus d'information pour pouvoir te répondre. Comme par exemple le code qui pose problème.