[Php-avanzado] Problemón con charsets

hernan galvan hernangalvan79 en hotmail.com
Lun Ago 18 19:12:37 ART 2008


Estoy intentando darle los últimos toques a la tesis y surgió el siguiente problema. La lógica es que hay que ingresar los datos a la bdd con htmlentities, que en la bdd queden los acentos así: '&acute', y que al recuperarlos con un simple print se vea normal. Bueno, a mi me pasa alrevés.  -Ingreso 'ñañndú' con htmlentities.-En la bdd queda guardado '&Atilde;&plusmn;a&Atilde;&plusmn;nnd&Atilde;&shy;'-Al hacer extraer el dato de la bdd y hacer print veo: 'ñañnndÃ' Aclaro que el .php tiene en el header charset=utf-8 y tánto la tabla como la bdd está como utf8_unicode_ci. Para poderlo ver bien, lo que hice fué quitarle htmlentities. Entonces: -Ingreso 'ñañndú' SIN htmlentities.-En la bdd queda guardado como 'ñañnndÃ'.-Al extraer el dato de la bdd y hacer print veo 'ñañndú' de manera correcta. Bueno, pero eso funciona sólo en mi máquina, ya que probando el script en cualquier otro lado sin htmlentities se ve mal, o sea:En cualquier máquina SIN UTILIZAR htmlentities se ve tán mal como veo yo UTILIZANDO htmlentities. Lo que se me ocurre hacer es poner htmlentities igual, total sé que afuera se ve correcto, pero es muy molesto que YO vea todo mal. Y no sé que puede ser, ¿tal vez la configuración de mi servidor? Como ejemplo, aquí transcribo partes del código.Se trata de ingresar los campos TITULO y CRITICA. Para ejemplificar ingreso el titulo SIN utilizar htmlentities y la critica CON htmlentities. <?phpinclude("conexion.php");$titulo=addslashes(trim($_POST["titulocritica"])); $critica=htmlentities(trim($_POST["critica"]));$puntaje=$_POST["calificacion"];$idusr=$_POST["idusuario"];$idpelicula=$_POST["pelicula"];$sql="INSERT INTO criticas (critica,puntaje,idusuario,fecha,titulocritica,idpelicula) VALUES ('$critica',$puntaje,$idusr,NOW(),'$titulo',$idpelicula)";mysql_query($sql) or die(mysql_error());header("location:pelicula.php?id=$idpelicula");?> Muestro lo que guarda en la base de datos:http://img172.imageshack.us/my.php?image=ejemplo1in2.jpg Los imprimo:<!-- <span class="titulocritica">        <?php print $row["titulocritica"];?>                         </span>                         <span class="letrachica">                          Publicado por <?php           print obtenerusuario($row["idusuario"]);            ?>            el                                           <?php             print $row["fecha_formateada"];            ?>                         </span>                          <?php mostrarpuntaje($row["puntaje"]);?>                            <span class="puntajejunior"><?php print ($row["puntaje"]);?></span>                         <p>                            <?php print ($row["critica"]);?>                         </p>(...)--> Muestro cómo se ve en la impresion:http://img165.imageshack.us/my.php?image=ejemplo2lz8.jpg En definitiva: al imprimir un dato obtenido desde la base de datos con la siguiente notación "&Atilde;&plusmn;a&Atilde;&plusmn;nnd&Atilde;&shy;" me lo mustra como 'ñañnndÃ'. El código fuente de la página resultante:<!-- <span class="titulocritica">
						 	ñañndú                         </span>
                         <span class="letrachica">
                         	Publicado por maru											 el 
                                          18/08/2008 a las 05:55:30 PM                         </span>
                         	    <br/>
    <img src="img/4.gif" />
                                <span class="puntajejunior">4</span>
                         <p>
                            &Atilde;&plusmn;a&Atilde;&plusmn;nnd&Atilde;&shy;                         </p>
                                             </div>	
                </div>

--> Se supone que htmlentities deberia convertirme ñañndú en : &ntilde;a&ntilde;nnd&uacute; y me lo transforma en  &Atilde;&plusmn;a&Atilde;&plusmn;nnd&Atilde;&shy; 
¿Alguna idea? Hernán.     
_________________________________________________________________
¿Aburrido? Ingresá ya y divertite como nunca en MSN Juegos.
http://juegos.ar.msn.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20080818/eaa7f067/attachment.htm 


Más información sobre la lista de distribución Php-avanzado