Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] utf8_encode funciona a medias

Estas en el tema de utf8_encode funciona a medias en el foro de PHP en Foros del Web. hago una consulta con una palabra acentuada, tengo UTF-8 en el header de php, las tablas de mysql están en UTF-8. Un ejemplo: $v = ...
  #1 (permalink)  
Antiguo 07/01/2014, 18:11
Avatar de jmrvm801  
Fecha de Ingreso: octubre-2011
Ubicación: Orizaba, Mexico
Mensajes: 37
Antigüedad: 12 años, 6 meses
Puntos: 1
utf8_encode funciona a medias

hago una consulta con una palabra acentuada, tengo UTF-8 en el header de php, las tablas de mysql están en UTF-8.

Un ejemplo:

$v = "electrónico";
//el navegador imprime: electrónico, pero php muestra: electrónico

el punto es que si aplico utf8_encode() o utf8_decode() no funciona. por que el navegador lo imprime mal.

Hago un str_replace pero sólo funciona con la a, e, o, u.

Hay una forma de convertir estos caracteres?
  #2 (permalink)  
Antiguo 07/01/2014, 20:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: utf8_encode funciona a medias

El HTML básico implementa entidades de dichos caracteres, sobre todo para que siempre se vea bien sin importar la codificación

¿Sabías?

Revisa htmlentities() en el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/01/2014, 20:13
Avatar de jmrvm801  
Fecha de Ingreso: octubre-2011
Ubicación: Orizaba, Mexico
Mensajes: 37
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: utf8_encode funciona a medias

el htmlentities() no funcionó, pero ya encontré la solución.

function quitar_tildes($cadena) {
$no_permitidas= array ("á","é","í","ó","ú","Á","É","Í","Ó","Ú","ñ","À"," Ã","Ì","Ò","Ù","Ù","à ","è","ì","ò","ù","ç","Ç","â","ê","î","ô"," û","Â","Ê","ÃŽ","Ô","Û","ü","ö","Ö","ï","à ¤","«","Ò","Ã","Ä","Ë");
$permitidas= array ("a","e","i","o","u","A","E","I","O","U","n","N"," A","E","I","O","U","a","e","i","o","u","c","C","a" ,"e","i","o","u","A","E","I","O","U","u","o","O"," i","a","e","U","I","A","E");
$texto = str_replace($no_permitidas, $permitidas ,$cadena);
return $texto;
}

Etiquetas: decode, encode
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 14:59.