Hola gente estoy intentando subir archivos y guardarlos en un servidor con linux, pero si el nombre del archivo tiene acentos, cuando quiero recuperarlo no lo abre, por lo cual puse en el codigo php una funcion que me remplace los acentos, si lo pruebo de manera local con windows, funciona perfecto, pero en el servidor me remplaza el acento por un cuadrado "�". y no logro solucionarlo, alguna solucion?
copio el codigo:
Código PHP:
function guardarArchivo($file,$datos)
{
$destino= '/servidor con linux/';
$conacento=$this->GetQuitarAcentos($conacento);
if(move_uploaded_file ($file['nombreArchivo']['tmp_name'],$destino . '' .$conacento))
{
if ($_FILES['nombreArchivo']['type']=="application/pdf" || $_FILES['nombreArchivo']['type']=="application/msword")
{
$this->setNombre($conacento);
$this->setTituloID($datos['tituloID']);
$conversorArchivo= new ConversorArchivoBDR();
$conversorArchivo->ingresarArchivo($this);
print_r("El archivo ha sido cargado correctamente.");
}
}
}
esta es la función que me remplaza la letra que tiene el acento, por la misma letra sin el acento
Código PHP:
function GetQuitarAcentos($s)
{
$s = ereg_replace("[áàâãª]","a",$s);
$s = ereg_replace("[ÁÀÂÃ]","A",$s);
$s = ereg_replace("[ÍÌÎ]","I",$s);
$s = ereg_replace("[íìî]","i",$s);
$s = ereg_replace("[éèê]","e",$s);
$s = ereg_replace("[ÉÈÊ]","E",$s);
$s = ereg_replace("[óòôõº]","o",$s);
$s = ereg_replace("[ÓÒÔÕ]","O",$s);
$s = ereg_replace("[úùû]","u",$s);
$s = ereg_replace("[ÚÙÛ]","U",$s);
$s = str_replace("ç","c",$s);
$s = str_replace("Ç","C",$s);
return $s;
}
Muchas gracias desde ya.
Saludos