<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18812"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px" 
id=MailContainerBody leftMargin=0 topMargin=0 CanvasTabStop="true" 
name="Compose message area">
<DIV><FONT face=Calibri>Bueno.... después de toda una noche desvelada... sin 
encontrar la solución... dormir un par de horas.... preguntar a la lista.... 
resulta que me surgió un destello de una idea y lo solucioné...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Aquí va lo que creo que me pasaba, lo que hice y cómo lo 
solucioné... espero que a otros que se vean en el mismo caso les sirva de 
ayuda...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Como ya expliqué, lo tenía todo en UTF-8... después de 
escribir el post anterior... volví a revisar todo paso a paso y confirmé que 
efectivamente todo está en UTF-8, y por ahí venía el problema....</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Decidí aplicar en el código PHP la función utf8_encode() 
de la manera siguiente;</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>$lavariablequesea = 
utf8_encode($lavariablequesea);</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Después de hacer esto, probé a insertar un nuevo 
registro en MySql desde la página web PHP... y resultó que lejos de corregirse 
el problema, se agravó, ya que ahora en vez de 2 caracteres extraños, había 4 
caracteres...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Entonces pensé que lo que estaba ocurriendo, es que 
MySql estaba codificando todo lo que le llegara a UTF-8, pero cuando lo que le 
llega ya está en UTF-8, lo vuelve a codificar y es ahí donde se producen 
caracteres extraños...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>al codificar d enuevo UTF-8 sobre datos ya codificados 
UTF-8.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Por lógica, pensé... debo retroceder un paso en la 
codificación... es decir... lo voy a enviar los datos a MySql en codificación 
ISO-8859-1... y si es como pienso, MySql lo codificará a UTF-8....</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>y gualaaa!!!! funcionó...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Metí en el código PHP, justo antes de la instrucciones 
query e INSERT para la base de datos, una línea que me descodificara la 
variable, de UTF-8 y me la dejara en ISO-8859-1... es decir... lo contrario a lo 
que hice antes...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>$lavariablequesea = 
utf8_decode($lavariablequesea);</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Eso fue todo...ahora me toca modificar el código PHP y 
meter esas decodificaciones para todas las variables.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Saludos.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV style="FONT: 10pt Tahoma">
<DIV><BR></DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A 
title=gonzalocaceres70@hotmail.com 
href="mailto:gonzalocaceres70@hotmail.com">Gonzalo Cáceres</A> </DIV>
<DIV><B>Sent:</B> Sunday, September 13, 2009 1:13 PM</DIV>
<DIV><B>To:</B> <A title=centos-es@centos.org 
href="mailto:centos-es@centos.org">centos-es@centos.org</A> </DIV>
<DIV><B>Subject:</B> [CentOS-es] PROBLEMAS CON CARCATERES</DIV></DIV></DIV>
<DIV><BR></DIV>
<DIV><FONT face=Calibri>Hola amigos...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Tengo un problemas cuando inserto datos en MySql desde 
un formulario de Html y PHP.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>El problema lo tengo las eÑes y eñes (Ñ,ñ)... y supongo 
que también me pasará lo mismo con los acentos.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Esta es la configuración que tengo a ver si alguien me 
puede dar una pista, porque no doy con el problema... que en principio creo que 
debe estar en la codificación de algo, pero no doy pie con bola.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>La configuración se reparte en dos equipo:</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Equipo A:</FONT></DIV>
<DIV><FONT face=Calibri>Servidor de MySql al que&nbsp;se accede en red 
local.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Sistema Operativo: Linux</FONT></DIV>
<DIV><FONT face=Calibri>Version MySql: &nbsp;5.0.67</FONT></DIV>
<DIV><FONT face=Calibri>Codificación por defecto de MySql y de las bases de 
datos creadas incluso todos los campos: UTF-8</FONT></DIV>
<DIV><FONT face=Calibri>Servidor Web para el phpmyadmin: Apache 
2.2.6</FONT></DIV>
<DIV><FONT face=Calibri>Versión de PHP: 
5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></DIV>
<DIV><FONT face=Calibri>Versión phmypadmin: 3.2.0-beta1</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Las codificaciones por defecto para Apache y PHP no las 
he mirado porque pienso que no influyen, ya que las inserciones desde PHP y 
Apache se realizan desde el otro equipo.</FONT></DIV>
<DIV><FONT face=Calibri>Observación: Cuando inserto datos en la base de datos 
manualmente desde el phpmyadmin, las Ñ se graba sin ningún 
problema.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Equipo B:</FONT></DIV>
<DIV><FONT face=Calibri>Servidor Apache desde el que se accede al otro equipo y 
su servidor MySql.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Sistema Operativo: W XP</FONT></DIV>
<DIV><FONT face=Calibri>Versión PHP: 5.1</FONT></DIV>
<DIV><FONT face=Calibri>Servidor Web: Apache 2.2.13</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Codificación por defecto en PHP: UTF-8</FONT></DIV>
<DIV><FONT face=Calibri>Codificación del documento Html-PHP donde se ejecuta el 
formulario y se manejan las variables de datos PHP que son enviadas al MySql: 
Charset:utf-8</FONT></DIV>
<DIV><FONT face=Calibri>Codificación del documento (página web) PHP en el 
editor: UTF-8</FONT></DIV>
<DIV><FONT face=Calibri>Codificación del documento (página web) PHP en los 
navegadores Firefox y Explorer: UTF-8</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Es decir, todo está en UTF-8. El motor PHP y el Apache 
del equipo A no lo he mirado, como dije antes, pero entiendo que no tienen nada 
que ver.</FONT></DIV>
<DIV><FONT face=Calibri>He probado a combinar poniendo el motor PHP en 
ISO-8859-1 dejando la MySql en utf-8, ya que en algún post por internet decía 
algo de eso.</FONT></DIV>
<DIV><FONT face=Calibri>He probado a poner en el código PHP, un línea que le 
diga al PHP que se codifique los datos de texto en utf-8.</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Pero nada de nada.... siempre las Ñ llegan mal a la base 
de datos, con los caracteres extraños que ya sabéis.... Àä+ y esas 
cosas...</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Alguna idea clarificadora please???</FONT></DIV>
<DIV><FONT face=Calibri></FONT>&nbsp;</DIV>
<DIV><FONT face=Calibri>Gracias.</FONT></DIV>
<P>
<HR>

<P></P>_______________________________________________<BR>CentOS-es mailing 
list<BR>CentOS-es@centos.org<BR>http://lists.centos.org/mailman/listinfo/centos-es<BR></BODY></HTML>