Foros del Web » Programando para Internet » PHP »

htmlentities y html_entity_decode en utf-8

Estas en el tema de htmlentities y html_entity_decode en utf-8 en el foro de PHP en Foros del Web. Buenas, En mi html tengo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / > Mi BD esta ...
  #1 (permalink)  
Antiguo 29/01/2011, 13:44
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta htmlentities y html_entity_decode en utf-8

Buenas,

En mi html tengo

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Mi BD esta en UTF-8 general ci, y necesito trabajar con html en mi base de datos con php.

Investigando, encontre que:

Transforma HTML a UTF-8

Código PHP:
htmlentities($this->postENT_QUOTES"UTF-8"); 
Transforma UTF-8 a HTML

Código PHP:
utf8_encode(html_entity_decode($value->post)); 

Pero no hace bien la transformación y sigo con el problema...

S2
  #2 (permalink)  
Antiguo 29/01/2011, 19:54
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Respuesta: htmlentities y html_entity_decode en utf-8

Fíjate si los php los estes guardando con la codificación UTF-8 sin BOM, seguramente los ficheros estén siendo guardados como ANSI.

De todas formas, htmlentities no se usa para codificar a UTF-8 sino mas bien para alterar todos los caracteres que tengan alguna funcion en html como por ejemplo < ' " > y los convierte en alternativas no funcionales para html, de forma que pueda ser trabajado para guardarse en una base de datos o mostrarse en pantalla sin llegar a ejecutarse, corregidme si me equivoco.

En tu caso no dejaría de usar la funcion htmlentities, pero la funcion para "decodificar" htmlentities suele ser "html_entity_decode()", para evitar caracteres raros e incompatibilidades entre sistemas de escritura, mejor que los archivos, y la codificación de las tablas de la base de datos estén en el mismo sistema, en tu caso UTF-8.

Espero haberte podido ayudar y si he explicado algo mal, alguien me lo corrija.

Un Saludo ;)
  #3 (permalink)  
Antiguo 29/01/2011, 20:01
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Respuesta: htmlentities y html_entity_decode en utf-8

Los PHP están siendo guardados en UTF-8 también si, disculpa por no mencionarlo. Y no uso htmlentities para codificar a UTF-8 sino como bien dices alterar los caracteres típicos del html en la BD.

El problema esta en que no se descodifican bien o al contrario se codifican mal antes, la verdad no lo sé.

S2
  #4 (permalink)  
Antiguo 29/01/2011, 20:13
 
Fecha de Ingreso: noviembre-2010
Ubicación: Badajoz
Mensajes: 94
Antigüedad: 14 años
Puntos: 4
Respuesta: htmlentities y html_entity_decode en utf-8

yo creo que no es necesario que uses html_entity_decode() y diría que tampoco utf8_encode() a la hora de mostrar lo que recuperas de la base de datos
  #5 (permalink)  
Antiguo 30/01/2011, 03:30
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: htmlentities y html_entity_decode en utf-8

Si lo es xq si no las consultas dan error

Etiquetas: htmlentities, html_entity_decode, utf-8
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 11:21.