Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas Acentos-Charset y ob_start()

Estas en el tema de Problemas Acentos-Charset y ob_start() en el foro de PHP en Foros del Web. Hola a todos, queria pedirles una mano con algo que me esta volviendo loco en un trabajo y necesito resolver ya mismo.. La situacion es ...
  #1 (permalink)  
Antiguo 01/07/2013, 15:45
 
Fecha de Ingreso: marzo-2012
Mensajes: 102
Antigüedad: 12 años, 1 mes
Puntos: 1
Problemas Acentos-Charset y ob_start()

Hola a todos,
queria pedirles una mano con algo que me esta volviendo loco en un trabajo y necesito resolver ya mismo..

La situacion es la siguiente:

- Utilizo este encabezado:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es-es">
<head>
<title>V/A NEWS</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
en todas las paginas que les comentare.


- tengo una pagina con un formulario algo extenso llamada 'form.php' en la que se cargan varios datos . De manera simple, y se envia por post.

- esa pagina luego de enviada, se recibe en 'procesar_form.php'.

'procesar_form.php', muestra con print_r el array $_POST y todo sale bien, con acentos.

El inconveniente, es que dentro de 'procesar_form.php', no solo muestro los datos sino que genero 2 nuevas webs en otra ubicacion.

Código:
ob_start();
// encabezado y contenido con nuevo formato
$var = ob_get_clean();
// si la carpeta NO existe, la creo
if (!file_exists($carpeta)) {
    mkdir($carpeta, 0777);
}
//
if(!file_exists($carpeta.'/'.$new_file.'.html')){
	$html = fopen($carpeta.'/'.$new_file.'.html', 'write');
	fwrite($html, $var);
	fclose($html);
}
esto lo realizo 2 veces (para cada nuevo archivo) y cierro normalmente la pagina con </body></html>


el problema es que por alguna razon no se imprimen bien los caracteres.. he probado cambiando a ISO-8859-1 (todos los encabezados) pero el problema persiste..

alguna idea como solucionarlo? empiezo a pensar que es ob_start el que esta afectando mi codificacion...

saludos!!
  #2 (permalink)  
Antiguo 01/07/2013, 15:56
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Problemas Acentos-Charset y ob_start()

Ya revisaste la codificación de los archivos??, me refiero si los archivos estan creados como utf8, notepad++ te permite ver y cambiar dicha codificación
  #3 (permalink)  
Antiguo 01/07/2013, 17:22
 
Fecha de Ingreso: marzo-2012
Mensajes: 102
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Problemas Acentos-Charset y ob_start()

gracias alex por responder..

He abierto los 4 archivos (formulario, proceso y los 2 generados) y todos son utf-8.. pero no muestran los acentos.. (en notepad++ dice ANSI as UTF-8)

ahora que veo, en la pagina del formulario, si bien es utf-8 aquellos caracteres que no fueron escritos del modo &aacute; no son rendereados apropiadamente.. ejemplo í se muestra Ã

lo raro es que por formulario se envian y llegan bien.. son las paginas creadas usando ob_start las que tienen problemas..
  #4 (permalink)  
Antiguo 01/07/2013, 17:41
 
Fecha de Ingreso: marzo-2012
Mensajes: 102
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Problemas Acentos-Charset y ob_start()

alex! parece que lo he solucionado..
la solucion venia por el lado que me comentabas.

Como al pie de notepad++ leia "ANSI as UTF-8" crei que estaba todo dicho.

Pero me fui a la pestaña de codificacion, en el archivo del formulario y en el que lo procesa, y cambie la opcion de "Codificar en Utf-8 sin BOM" por la de "Codificar en Utf-8" y voila!!

espero le sirva a otras personas tambien..

saludos y gracias por tu ayuda!

Etiquetas: formulario, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:44.