PHP Problèmes ' dans création dossier

TRUNCKS Messages postés 1019 Date d'inscription   Statut Membre Dernière intervention   -  
Navid_92 Messages postés 711 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une fonction qui me crée un dossier pour enregistrement du chemin du dossier dans une bdd.

Mais pour éviter les erreurs, j'ai enlevé les accents etc avant d'enregistrer.
Mon soucis, c'est que quand je met un ' dans mon champ et que j'enregistre, il me l'interprété comme cela:

coucou' ----> coucou\-

Je suis sensé avoir coucou-.

J'ai fait cela:

$avec_accent  = utf8_decode("ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖOEØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñSsoe '²|',;:!¿/(){}[]+=*~<>&¢€£\$¤¥§©ø÷×µ¶®°±¨@#"); 
$sans_accent  = utf8_decode("abcdefghijklmnopqrstuvwxyzAAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso--------------------------------------------"); 

$nom_categorie_dossier = strtr(utf8_decode($nom_categorie), $avec_accent, $sans_accent); 
$nom_categorie_dossier = utf8_encode($nom_categorie_dossier); 
$nom_categorie_dossier = mysql_real_escape_string($nom_categorie_dossier); // (pour enregistrement en Bdd) 

--
A voir également:

2 réponses

Navid_92 Messages postés 711 Date d'inscription   Statut Membre Dernière intervention   87
 
Bah qu'est ce qu'il y , c'est normal car c'est ce que tu lui as dis de faire.
Je m'explique :

Ta fonction strtr et ta fonction mysql_real_escape_string rentre en conflit.

De plus, tu utilises beaucoup de fonction utf8_, sont-elles vraiment nécessaire ?

Good Luck
0
Navid_92 Messages postés 711 Date d'inscription   Statut Membre Dernière intervention   87
 
Tu peux essayé ma fonction (beta) ?

<?php
function getFolderName($string) 
{
	$string = str_replace(array("à","á","â","ã","ä","ç","è","é","ê","ë","ì","í","î","ï","ñ","ò","ó","ô","õ","ö","ù","ú","û","ü","ý","ÿ","À","Á","Â","Ã","Ä","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ñ","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü","Ý","\n", "'", "`", "'", "?", """, """, """, "?", '"', 
"\"","\\","/","*","'","=","-","#",";","<",">","+","%"), array("a","a","a","a","a","c","e","e","e","e","i","i","i","i","n","o","o","o","o","o","u","u","u","u","y","y","A","A","A","A","A","C","E","E","E","E","I","I","I","I","N","O","O","O","O","O","U","U","U","U","Y","", "'", "'", "'", "'", "\"", "\"", "\"", "\"", "\"", "","","","","","","","","","","","",""), $string);
	if (get_magic_quotes_gpc())	$string = stripslashes($string);
	$string = htmlspecialchars($string, ENT_QUOTES, 'UTF-8', TRUE);
	return (realpath(mysql_real_escape_string($string)));
}
?>
0