Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2012, 21:36
Avatar de ramiro_md
ramiro_md
 
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 16 años, 3 meses
Puntos: 26
Caracteres españoles en nombre de archivo

Buenas, estoy realizando unos códigos para generar archivos csv, para exportar datos entre distintas plataformas de mi trabajo.

En una de ellas se me presenta una situación particular. Mi código crea los archivos con nombres que figuran en la base de datos. El problema esta cuando uno de esos nombres contiene una "ñ", el archivo no se crea. Intenté con str_replace() pero no funciona, posiblemente haya alguna otra forma de referenciar la "ñ", tal vez con su correspondiente ASCII.

Mi código por ahora es este:

index.php
Código PHP:
while ( $c $cohortes->fetch_object() ){
    echo 
"Pasada: ".$c->id."<br/>";
    
$archivo $csv.getCohortName($link,$c->id).".csv";
    echo 
$archivo."<br>";
    
$handler fopen($archivo,'w+');
    echo( 
$handler == FALSE ) ? "<b>Apertura fallida.</b></br>" "<b>Apertura exitosa.</b></br>"
    
fclose($handler);
    

Código PHP:
function getCohortName($l,$id){
    
$result $l->query("SELECT c.name FROM mdl_cohort AS c WHERE c.id = $id");
    
$name $result->fetch_object();
    return 
str_replace("ñ""ni"$name->name);

Como veran así es como implemento str_replace():
Código PHP:
str_replace("ñ""ni"$name->name); 
Pero al parecer no identifica la "ñ", por consiguiente deja la string tal cual y como esta. Provocando que el fichero no se cree.
Esta es la salida de los echos:
Cita:
Pasada: 1
/media/Datos/www/export/files/csv/Primer Año.csv
Apertura fallida.
Pasada: 2
/media/Datos/www/export/files/csv/Segundo Año.csv
Apertura fallida.
Pasada: 3
/media/Datos/www/export/files/csv/Tercer Año.csv
Apertura fallida.
Pasada: 4
/media/Datos/www/export/files/csv/Cuarto Año.csv
Apertura fallida.
Pasada: 5
/media/Datos/www/export/files/csv/Quinto Año.csv
Apertura fallida.
Pasada: 6
/media/Datos/www/export/files/csv/Sexto Año.csv
Apertura fallida.
Pasada: 7
/media/Datos/www/export/files/csv/Plantel Docente.csv
Apertura exitosa.
Agradecería cualquier tipo de ayuda jeje.
Desde ya muchas gracias.