Foros del Web » Programando para Internet » PHP »

Utf-8 en phpmyadmin

Estas en el tema de Utf-8 en phpmyadmin en el foro de PHP en Foros del Web. Hola amigos!! Tengo un problemilla y he decidido acudir a vosotros, a ver si me podeis ayudar!! Estoy haciendo una aplicación con php y mysql ...
  #1 (permalink)  
Antiguo 26/02/2010, 15:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 36
Antigüedad: 14 años, 2 meses
Puntos: 0
Utf-8 en phpmyadmin

Hola amigos!!

Tengo un problemilla y he decidido acudir a vosotros, a ver si me podeis ayudar!!

Estoy haciendo una aplicación con php y mysql y todo iba bien hasta que empecé a hacer peticiones ajax y la codificación empezó a hacerme malas pasadas. Googleando descubrí que el objeto XmlHttpRequest bajo Post envía en utf-8, y ahí es cuando me di cuenta de que el programa que suelo usar para crear los archivos php y html codifica por defecto en iso-8859-1.

He decidido cambiarme a Utf-8 para quitarme todos los problemas y ahora es cuando me surge una duda.

Lo primero que hice fue asegurarme de que mi base de datos estaba en Utf-8, y así es:

Código:
character set client  	utf8
character set connection 	utf8
character set database 	utf8
character set filesystem 	binary
character set results 	utf8
character set server 	utf8
character set system 	utf8
character sets dir 	C:\AppServ\MySQL\share\charsets\
collation connection 	utf8_unicode_ci
(Valor global) 	utf8_general_ci
collation database 	utf8_general_ci
collation server 	utf8_general_ci


Después guardé todos mis archivos en Utf-8 con la cabecera:

Código HTML:
<HEAD>
 <meta name="tipo_contenido"  content="text/html;" http-equiv="content-type" charset="utf-8">
</HEAD> 
Y en todos los forms puse:

Código HTML:
accept-charset="UTF-8"
De esa forma cuando grabo algo mediante un insert y luejo lo veo en mis archivos todo es ok, pero...

- Si directamente lo inserto mediante el phpmyAdmin luego no se ve bien.
- En el pjpmyadmin se graba todo con caracteres extraños, por ejemplo:

españa es españa

Debería verse bien también (sin signos raros) en phpmyadmin o se está guardando correctamente?


Gracias!!
  #2 (permalink)  
Antiguo 26/02/2010, 18:59
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Utf-8 en phpmyadmin

Y porque no usas htmlentities() o htmlspecialchars() o utf8_encode() para hacer las inserciones en tu base?
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 26/02/2010, 19:06
 
Fecha de Ingreso: febrero-2010
Mensajes: 36
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Utf-8 en phpmyadmin

Cita:
Iniciado por jackson666 Ver Mensaje
Y porque no usas htmlentities() o htmlspecialchars() o utf8_encode() para hacer las inserciones en tu base?
Hola Jackson!!

Pues no lo hago porque todo el mundo en foros etc lo que recomiendan es hacerlo a pelo si tienes todo configurado en UTF-8, como es mi caso. La verdad es que estoy algo confuso, he tomado todas las precacuciones...

Y aunque en mis archivos se ve bien en la base de datos no, por lo que ya no sé si es q es un bug del phpmyAdmin, si es que las tablas del phpMyadmin estan en Iso, si es que hay algun proceso que desconozco, o que...

Si utilizo el utf8_encode() no se supone que es para convertir desde Latin a utf8? Si ya lo tengo en esa codificación no tiene mucho sentido, no??

Gracias por la respuesta!!
  #4 (permalink)  
Antiguo 26/02/2010, 20:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 36
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Utf-8 en phpmyadmin

Bueno tras mucho probar, trastear, googlear hasta la extenuación etc, creo que se confirman mis sospechas, en otro post del foro de phpmyadmin en sourceforge también se dice...

Hay un bug, que rompe la conversión a utf8 en las tablas que muestran los resultados en phpmyAdmin, lo que hace que aunque esté grabado en Utf-8 y todo es correcto en los archivos si los tienes bien codificados, en la misma aplicación se ve como si los estuvieras leyendo en cofidificación Latin.

Es una auténtica paranoia, pero creo que es así. Hice una comprobación e inserté datos en la bd con utf8_decode y utf8_encode.

Con encode salían aun mas caracteres extraños y con decode salía bien en el phpmyadmin, pero en mis páginas salía horrible (en utf-8) así que la conclusión es que se graban bien, en utf-8, pero se muestran mal en la propia aplicación, vete tu a saber porque...

Salu2!!
  #5 (permalink)  
Antiguo 26/02/2010, 21:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Utf-8 en phpmyadmin

porque no eliges utf8_general_ci ?? has probado??
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;
  #6 (permalink)  
Antiguo 27/02/2010, 01:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 36
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Utf-8 en phpmyadmin

Cita:
Iniciado por easy Ver Mensaje
porque no eliges utf8_general_ci ?? has probado??
Código:
character set client  	utf8
character set connection 	utf8
character set database 	utf8
character set filesystem 	binary
character set results 	utf8
character set server 	utf8
character set system 	utf8
character sets dir 	C:\AppServ\MySQL\share\charsets\
collation connection 	utf8_unicode_ci
(Valor global) 	utf8_general_ci
collation database 	utf8_general_ci
collation server 	utf8_general_ci
Con utf8 es más que suficiente, creeme, he investigado muchíisimo y he hecho miles de pruebas, y teniendo en cuenta en que en todas mis páginas se ve bien... Tiene q ser un bug del phpmyadmin, está grabado en utf8, pero se muestra en latin por algun código interno...

Etiquetas: phpmyadmin, utf
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:05.