Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2013, 17:20
Avatar de anderdomingo
anderdomingo
 
Fecha de Ingreso: mayo-2013
Ubicación: Zarautz
Mensajes: 27
Antigüedad: 11 años
Puntos: 0
Pregunta Problema en el nombre del archivo al guardar en utf-8

Hola, antes de nada agradeceros vuestra ayuda.

Tengo un problema con los caracteres especiales al guardar un archivo.

Pero el problema no esta en el contenido del archivo (eso ya esta logrado) sino en el nombre.

Con php hago que reciba una variable post con el nombre ingrediente y despues de hacer otras tantas cosas debe guardar un archivo .html y otro .jpg con ese nombre.

Hasta aqui bien, pero el problema aparece si se inserta algun ingrediente con caracteres especiales, entonces me he dado cuenta de que no me lo guarda con utf-8 y que los nombres de los archivos .html y .jpg no se guardan bien (por ejemplo, al insertar "hampiñones" sale esto: Champiñones.html).
He intentado usar utf8_encode en la variable post antes de ponerla pero no me funciona....

Supongo que si se puede soluccionar con el archivo .html se podra con el .jpg no?
Por eso he puesto solo el codigo que genera el html que si no seria muy largo

He aqui el codigo:

$nombre_fichero = "../recetas/".$_POST["Ingrediente"].".html";
if (file_exists($nombre_fichero))
{
$borrar = unlink($nombre_fichero);
if($borrar)
{
echo "El archivo " . $nombre_archivo . " se eliminó correctamente <br>";
}
else
{
echo "Error al eliminar " . $nombre_archivo . "<br>";
}
}
$preparacion = nl2br($_POST['Preparacion']);
$status = "";
$carpeta="../images/ingredientes/";
$pagina="<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
$pagina.= $preparacion;

$Open = fopen ($nombre_fichero,"a+");
if ($Open)
{
fwrite ($Open,"$pagina");
echo "El archivo " . $nombre_fichero . " se creo correctamente <br>";
}
else
{
echo "Error al crear " . $nombre_fichero . "<br>";
}

Habria alguna manera de que me guardara automaticamente los archivos con la ñ y acentos con fwrite? o tendre que andar modificandolos manualmente...?