[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [LAMP] Codificacion de caracteres



El Sábado, 2 de Diciembre de 2006 01:30, Luis Lezcano Airaldi escribió:
> El Sábado, 2 de Diciembre de 2006 02:41, coin escribió:
> > Saludos.
> >
> > Estoy desarrollando un sistema con PHP, MySQL, Apache y la clase FPDF de
> > PHP.
> > Tengo un problema con los acentos y en general con caracteres raros.
> > Con formularios de captura a partir de HTML recojo datos y los guardo en
> > la base de datos MySQL, que por cierto tiene "colacion latin1_swedish_ci"
> > (no se por que le puse eso)
> > En Phpmyadmin dice " Juegos de caracteres de MySQL: * UTF-8 Unicode
> > (utf8)*" y " Cotejamiento de las conexiones MySQL:utf8_unicode_ci"
> > resulta que cuando muestro la información por ejemplo en un Combo Box
> > (resultado de unca consulta de MySQL) me manda caracteres raros cuando
> > salen acentos. Lo mismo pasa cuando esa misma información es enviada a
> > crear un PDF con FPDFy pasa exactamente lo mismo. Encontre una funcion
> > que se llama
> > utf8_decode($campo1) y despues lo mando a PDF, pero resulta que me parece
> > incomo estar poniendo eso a cada campo que quiero sacar de la base de
> > datos.
> >
> > ¿Me pregunto será correcta la codificacion de los caracteres que tengo
> > seleccionado? ¿el problema sera MySQL, APACHE, PHP o el sistema donde
> > corro la aplicacion?
> >
> > Bueno les agradezco de antemano
>
> Hola, en mi computadora, el phpMyadmin dice:
> Juegos de caracteres de MySQL:  UTF-8 Unicode (utf8)
> Cotejamiento de las conexiones MySQL: utf8_unicode_ci
>
> También existe una función del MySQL para convertir entre distintas
> codificaciones:
> CONVERT(tabla.campo USING codificación_de_caracteres)
>
> Además el HTML posee una etiqueta meta en la cual debes especificar la
> codificación que usas.

A mi hace tiempo me sucedió algo parecido, la única solución que pude 
encontrar fue añadir este trozo de código al conectarse a la db.
Te dejo el ejemplo

	$conx = mysql_connect($server, $user, $passdb);
	mysql_select_db($db,$conx);
	mysql_query("SET NAMES 'utf8'");

La instrucción que importa es la del "SET NAMES 'utf8' " que es realmente 
donde pone tu codificación.

Saludos
Víctor



Reply to: