Ver Mensaje Individual
  #14 (permalink)  
Antiguo 03/05/2018, 09:46
dairo65
 
Fecha de Ingreso: abril-2011
Mensajes: 168
Antigüedad: 13 años
Puntos: 5
Respuesta: eterno problema con utf8 y la ñ que hago

Cita:
Iniciado por ocp001a Ver Mensaje
Si el problema ocurre al traer los datos de la base de datos, es muy posible que éstos hayan sido almacenados en un charset distinto, la prueba más simple es probar a guardar y traer datos nuevos. Si los datos nuevos salen bien, bastaría con convertir los datos antiguos de la base de datos, o bien, si aún no lo has hecho, hacer el set names, al inicar tu conexión a mysql, con

mysqli_query("SET NAMES utf8mb4"); (o sólo utf8 en tu caso).
Bueno te comento lo que hice.

cuando llego al formulario y ahi es donde actualizo mis mensajes mediante el método pos con el form de la siguiente forma.

Código PHP:
Ver original
  1. <form role="form"  action="/myopen/php/actualizar.php" method="POST" accept-charset="utf8mb4_unicode_ci" >

ahí ya si le escribo "mañana día Especial" y en la base de datos me la guarda muy bien con las ñ y tildes.( cambie esta casilla a cotejamiento utf8mb4_unicode_ci )
cuando le doy boton actualizar, el sistema recarga la pagina de nuevo y queda este mismo mensaje asi; "mañana día Especial"

hasta ahi supuestamente todo normal, hasta cuando cierro sesion y vuelvo a abrirla ya me carga el mismo mensaje asi: mañana dÃ*a Especial.

lo otro que hice fue crear una base de datos nueva con campos distintos y nombres distintos con el cotejamiento utf8mb4_unicode_ci y realice nuevas conexiones asi:

Código PHP:
Ver original
  1. <?php
  2. $conexion = mysqli_connect("localhost", "root", "", "myop");
  3. mysqli_query($conexion, "SET CHARACTER SET utf8");
  4. ?>

pero el problema persiste.

lo que veo es que php no me esta mostrando las ñ cuando las traído de la base de datos, las guarda bien la actualiza bien pero al extraer las ñ de mysql vuelve y me sale el error.