Foros del Web » Programando para Internet » PHP »

Comparar cadenas con tildes

Estas en el tema de Comparar cadenas con tildes en el foro de PHP en Foros del Web. Cordial saludo. He buscado en todo el foro y en google pero no he podido solucionar lo siguiente: La pagina esta con codificación utf-8 trabajo ...
  #1 (permalink)  
Antiguo 10/06/2016, 10:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
Pregunta Comparar cadenas con tildes

Cordial saludo.

He buscado en todo el foro y en google pero no he podido solucionar lo siguiente:

La pagina esta con codificación utf-8 trabajo con mysql y php

Mi problema es uando hago una consulta a una tabla en mysql y retorna un nombre con tildes y quiero compararla con una variable con tilde y son iguales no me retorna nada es decir: La consulta de mysql arroja Validación y en la variable de la pagina $concepto = "Validación" cuando comparo estos dos valores no retorna nada y como pueden ver son iguales; sin embargo si en $concepto = "Validación" y $concepto2 = "Validación" y los comparo si lo hace bien; a que se debe que al traer el dato de mysql no me haga bien la comparación??

Agradezco de antemano la ayuda y sugerencias que me puedan brindar
  #2 (permalink)  
Antiguo 10/06/2016, 11:29
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 3 meses
Puntos: 11
Respuesta: Comparar cadenas con tildes

Tienes mal la codificación de caracteres en algún lado:
En apache:
[httpd.conf]
AddDefaultCharset utf-8

en algunas versiones de apache no se encuentra AddDefaultCharset en el lugar habitual y tienes que buscar $cfg['DefaultCharset'] = '';
en toda la instalacion o variables similares y cambiarla por $cfg['DefaultCharset'] = 'utf-8';

En php:
[php.ini]
default_charset = "utf-8"
mbstring.internal_encoding=utf-8
mbstring.http_output=UTF-8
mbstring.encoding_translation=On
mbstring.func_overload=0

Si estas usando una versión superior o igual a php 5.6 estos parametros estan obsoletos:
mbstring.internal_encoding
mbstring.http_input
mbstring.http_output
y basta con poner default_charset = "utf-8"

Si usas mysql toda la collation de Base de datos y tablas debe ser utf8 - utf8_spanish_ci y en la conexión:
$Conex=new mysqli(.....);
$Conex->set_charset("utf8");

Yo creo que puede ser la collation de la Base de datos y tablas o no pusiste $Conex->set_charset("utf8"); en la conexión.
  #3 (permalink)  
Antiguo 10/06/2016, 14:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 673
Antigüedad: 19 años, 2 meses
Puntos: 2
De acuerdo Respuesta: Comparar cadenas con tildes

Cordial saludo.

Me funciono con $Conex->set_charset("utf8") gracias abrahamhs.

Etiquetas: cadenas, mysql, tabla, tildes, variable
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:35.