Tengo la siguiente función php en un archivo .class para corregir los caracteres especiales que tiene los nombre de los archivos que se suben al servidor: específicamente los los archivos con O tildada ó
public function reemplazar($string)
{
$string = preg_replace("[áàâãª]","a",$string);
$string = preg_replace("[ÁÀÂÃ]","A",$string);
$string = preg_replace("[ÍÌÎ]","I",$string);
$string = preg_replace("[íìî]","i",$string);
$string = preg_replace("[éèê]","e",$string);
$string = preg_replace("[ÉÈÊ]","E",$string);
$string = preg_replace("[óóòôõº]","o",$string);
$string = preg_replace("[ÓÒÔÕ]","O",$string);
$string = preg_replace("[úùû]","u",$string);
$string = preg_replace("[ÚÙÛ]","U",$string);
$string = str_replace("ç","c",$string);
$string = str_replace("Ç","C",$string);
$string = str_replace("ñ","n",$string);
$string = str_replace("Ñ","N",$string);
return $string;
}
y la llamo: $nombreArchivoLimpio=$reemp->reemplazar($archivo);
o esta otra función php que también parece que sirve para lo mismo:
$nombreArchivoLimpio=rawurldecode($archivo);
corro por separado cualquiera pero no me funciona y me lo deja así el archivo: 29_invitación a cotizar.pdf
En lugar de ser: 29_invitacion_a_cotizar.pdf , donde es ó con tilde no me trabaja, pero estas funciones parecen estar bien y no se como solucionarlo. ayuda por favor que será??????? y entonces al llamarlos no por el navegador no los encuetra y sale error por que en la base de datos que con otro nombre:29_invitación_a_cotizar.pdf
Función de caracteres especiales no me funciona al subir archivos, que será???
Comenzado por
AlfredOrj
, ago 29 2011 05:07
1 respuesta en este tema
#1
Escrito 29 agosto 2011 - 05:07
#2
Escrito 29 agosto 2011 - 07:41
Por que no intentas algo mas simple primeramente
Tienes el campo como cotejamiento utf_8 spanish? ni no es asi cambialo y utiliza la funcion uf8_encode o utf8_decode para que te muestre las ñ y los acentos
Al menos a mi me funciona bien de esa manera aunque de primera yo evitaría colocarle a mis archivos comillas para empezar
Saludos
Tienes el campo como cotejamiento utf_8 spanish? ni no es asi cambialo y utiliza la funcion uf8_encode o utf8_decode para que te muestre las ñ y los acentos
Al menos a mi me funciona bien de esa manera aunque de primera yo evitaría colocarle a mis archivos comillas para empezar
Saludos