Foros del Web » Programando para Internet » PHP »

problemas con la codificación mysql-php

Estas en el tema de problemas con la codificación mysql-php en el foro de PHP en Foros del Web. Hola amigos, tengo un problema, he transferido mi dominio a un servicio de hosting, anteriormente estaba alojado en un servidor propio, pero por la velocidad ...
  #1 (permalink)  
Antiguo 22/11/2010, 18:12
Avatar de yubertvikel
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: Venezuela
Mensajes: 924
Antigüedad: 10 años, 7 meses
Puntos: 110
problemas con la codificación mysql-php

Hola amigos, tengo un problema, he transferido mi dominio a un servicio de hosting, anteriormente estaba alojado en un servidor propio, pero por la velocidad lo tuve que sacar, el problema que hoy día tengo es que la base transferí los datos en su totalidad a la base de datos.

La base de datos me tomó las tildes, la web la codifiqué cómo UTF-8 en las metas y me muestra las tildes sin ningún problema, pero, la información que proviene de la base de datos si me las muestra con defectos.

He entrado en el phpmyadmin del hosting y configuré el cotejamiento a UTF8_spanish2_ci, tal cual cómo estaba configurado en mi servidor y aún continúa dando los datos erróneos.
__________________
Buscas posicionamiento en Google con Linneo.net encuentras soluciones SEO, SEM y de Marketing para empresas en Santiago
  #2 (permalink)  
Antiguo 22/11/2010, 18:16
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 10 años, 9 meses
Puntos: 101
Respuesta: problemas con la codificación mysql-php

Usa utf8_decode y encode, como sea necesario.

Yo usa esta funcion, que codifica solo en caso necesario (previniendo sobrecodificacion):
Código PHP:
Ver original
  1. /* conversion a utf-8 en caso necesario */
  2. function fixEncoding($in_str) {
  3.     $cur_encoding = mb_detect_encoding($in_str) ;
  4.     if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
  5.         return $in_str;
  6.     else
  7.         return utf8_encode($in_str);
  8. }
  #3 (permalink)  
Antiguo 22/11/2010, 18:28
Avatar de yubertvikel
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: Venezuela
Mensajes: 924
Antigüedad: 10 años, 7 meses
Puntos: 110
Respuesta: problemas con la codificación mysql-php

el dominio es netiev.co Cuando coloco:

<meta http-equiv="content-type" content="text/html; charset=windows-1252" />
se muestra bien el contenido que está dentro del div que muestra las ciudades, pero lo que está en el html se muestra mal

cuando coloco:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
pasa lo contrario.

coloque el codigo que me sugieres en php, pero dónde hago el llamado de la función?
__________________
Buscas posicionamiento en Google con Linneo.net encuentras soluciones SEO, SEM y de Marketing para empresas en Santiago
  #4 (permalink)  
Antiguo 22/11/2010, 18:30
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.025
Antigüedad: 15 años, 7 meses
Puntos: 832
Respuesta: problemas con la codificación mysql-php

Cita:
Iniciado por mayid Ver Mensaje
Yo usa esta funcion, que codifica solo en caso necesario (previniendo sobrecodificacion)
Me cae de perlas para algo que estoy cocinando aquí. Gracias.

PD: "Tú debes esparcir..." Joder.
  #5 (permalink)  
Antiguo 22/11/2010, 19:01
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 12 años, 3 meses
Puntos: 80
Respuesta: problemas con la codificación mysql-php

Cita:
Iniciado por metacortex Ver Mensaje
Me cae de perlas para algo que estoy cocinando aquí. Gracias.

PD: "Tú debes esparcir..." Joder.
Ja me paso lo mismo...
Ya puse la función en mi libreria de utilidades...
Lastima que no deje esparcir karma esto....

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #6 (permalink)  
Antiguo 22/11/2010, 19:16
Avatar de yubertvikel
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: Venezuela
Mensajes: 924
Antigüedad: 10 años, 7 meses
Puntos: 110
Respuesta: problemas con la codificación mysql-php

Yo quedé igual aún me muestra los datos, puse en la variable entrante a la función la base de datos y nada, puse el campo y tampoco
__________________
Buscas posicionamiento en Google con Linneo.net encuentras soluciones SEO, SEM y de Marketing para empresas en Santiago
  #7 (permalink)  
Antiguo 22/11/2010, 19:16
Avatar de yubertvikel
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: Venezuela
Mensajes: 924
Antigüedad: 10 años, 7 meses
Puntos: 110
Respuesta: problemas con la codificación mysql-php

perdón, puse la base de datos y no funcionó luego puse el nombre de la tabla y tampoco
__________________
Buscas posicionamiento en Google con Linneo.net encuentras soluciones SEO, SEM y de Marketing para empresas en Santiago
  #8 (permalink)  
Antiguo 23/11/2010, 09:08
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 10 años, 9 meses
Puntos: 101
Respuesta: problemas con la codificación mysql-php

Mira, cuando haces la consulta a base de datos, la pasas por mysql_fetch_array, cierto? Luego, tienen un array. Si quieres imprimir algo con la función que te pasé, hace por ejemplo esto:
Código PHP:
Ver original
  1. $query = msql_query("SELECT ..... ");
  2.  
  3. while ($row = mysql_fetch_array($query))
  4. $data[] = $row;

Y luego lo imprimes así (dentro de un bucle, supongo. No se tu caso):

Código PHP:
Ver original
  1. echo fixEncoding ( $data['titulo'] );
  2.  
  3. echo fixEncoding ( $data['descripcion'] );

etc...

Es decir, se trata de una herramienta para el trabajo con strings, no de aplicación directa a base de datos, entiendes?
  #9 (permalink)  
Antiguo 23/11/2010, 13:09
Avatar de yubertvikel
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: Venezuela
Mensajes: 924
Antigüedad: 10 años, 7 meses
Puntos: 110
Respuesta: problemas con la codificación mysql-php

gracias, ahora si, aunque releí y me dí cuenta que se me había saltado la función utf8_encode(), la comenzé a colocar y agregué esta meta <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> y me funcionó
__________________
Buscas posicionamiento en Google con Linneo.net encuentras soluciones SEO, SEM y de Marketing para empresas en Santiago

Etiquetas: Ninguno
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 19:37.