Foros del Web » Programando para Internet » PHP »

echo ( html caracteres raros )

Estas en el tema de echo ( html caracteres raros ) en el foro de PHP en Foros del Web. Estoy haciendo un proyecto MVC y me gustaria saber si se puede configurar o hay alguna funcion o se puede hacer de alguna manera sencilla ...
  #1 (permalink)  
Antiguo 14/03/2012, 05:19
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 2 meses
Puntos: 0
echo ( html caracteres raros )

Estoy haciendo un proyecto MVC y me gustaria saber si se puede configurar o hay alguna funcion o se puede hacer de alguna manera sencilla para que en las paginas se vean los caracteres normales, vocales con acentos, y otros caracteres raros de html.

En mi base de datos tengo las cadenas normales con acentos y claro, cuando las escribo en html me ponen caracteres raros.
En mis vistas Html tengo:
Código HTML:
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
y cuando escribo en las vistas:
Código PHP:
<?php echo $valor->nombre?>
el resultado en la web es:
Secci�n Perros

He estado mirando por internet y lo que he hecho es esta función:

Código PHP:
function echoHtml$cadena )
    {
        echo ( 
utf8_encode$cadena ) );
    } 
Código PHP:
<?php echoHtml($valor->nombre); ?>
Pero me gustaría saber si configurando el html o php se puede hacer para no tener que hacer la codificacion de caracteres raros de html o si existe ya alguna funcion que te lo haga, o si se puede configurar para que te lo haga de manera automatica. Gracias.
  #2 (permalink)  
Antiguo 14/03/2012, 05:26
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: echo ( html caracteres raros )

y si pruebas con este meta ?
Cita:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
saludos
  #3 (permalink)  
Antiguo 14/03/2012, 05:37
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: echo ( html caracteres raros )

Pues si que me ha funcionado. Muchas gracias.

Entonces si no me equivoco, parece ser que hay que configurar la base de datos en UTF-8 y tu html en ISO-8859-1, y quizas tambien el php con UTF-8, ¿ no es asi ?

¿ Se me olvida algo ? es para tenerlo claro y que si alguien consulta aqui lo pueda tener claro tambien.

Un saludo y gracias de nuevo.
  #4 (permalink)  
Antiguo 14/03/2012, 06:03
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: echo ( html caracteres raros )

Como bien te ha dicho chwc, para tu html el charset debe ser iso-8859-1, y en tu base de datos emplea codificación UTF-8.
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #5 (permalink)  
Antiguo 14/03/2012, 08:05
 
Fecha de Ingreso: abril-2011
Mensajes: 33
Antigüedad: 13 años
Puntos: 7
Respuesta: echo ( html caracteres raros )

tanto el documento web php y mysql le debes especificar que es utf8

setlocale para php
mysql_code_charset para mysql en php
y el meta utf8 para el html
  #6 (permalink)  
Antiguo 14/03/2012, 09:36
(Desactivado)
 
Fecha de Ingreso: julio-2006
Mensajes: 273
Antigüedad: 17 años, 8 meses
Puntos: 5
Respuesta: echo ( html caracteres raros )

yo utilizo echo htmlentities("cumpleaños de mamá"); y funciona perfecto
  #7 (permalink)  
Antiguo 14/03/2012, 11:16
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: echo ( html caracteres raros )

¿ Cual es la mejor solucion entonces ?

¿ O cual es la mejor solucion en que cada caso diferente si los hay ?

Gracias.
  #8 (permalink)  
Antiguo 14/03/2012, 12:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: echo ( html caracteres raros )

Lo mejor es que todo este en el mismo encoding, si vas a usar UTF8, usa UTF8 en todo (BDD, scripts PHP, HTML), si no usa ISO, pero todo tiene que ser el mismo (conexión con MySQL, etc).

Si usas un editor puedes especificar el encoding del documento que quieres usar, aparte de que debes de establecerlo en el <meta> de tu HTML.

Saludos.
  #9 (permalink)  
Antiguo 14/03/2012, 16:02
 
Fecha de Ingreso: enero-2012
Ubicación: España
Mensajes: 150
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: echo ( html caracteres raros )

Yo tengo UTF8-general-ci en la base de datos, php no lo toque y apache tampoco, tengo en el html
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
y se me ve bien.

Intente poner todo a UTF-8 con una guia que encontre pero no me funcionaba, veia los caracteres mal.
La guia es esta:
[URL="http://www.pedroventura.com/blog_programacion/php/problemas-codificacion-web-configurar-codificacion-utf8-php-mysql-y-html/"]http://www.pedroventura.com/blog_programacion/php/problemas-codificacion-web-configurar-codificacion-utf8-php-mysql-y-html/[/URL]

¿ Algun consejo ? ¿ Alguna guia para configurar todo correctamente y saber que esa es la forma mas correcta o como lo tengo yo esta bien ?

Etiquetas: caracteres, echo, html, raros
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 15:50.