Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas con acentos en MySql

Estas en el tema de Problemas con acentos en MySql en el foro de PHP en Foros del Web. Hola... saludos... y gracias por prestarme un poco de su atención. Estoy haciendo un CMS y cuando almaceno en la BD, los caracteres con acentos ...
  #1 (permalink)  
Antiguo 28/08/2014, 04:02
 
Fecha de Ingreso: septiembre-2004
Ubicación: Vigo - Pontevedra
Mensajes: 39
Antigüedad: 19 años, 6 meses
Puntos: 1
Problemas con acentos en MySql

Hola... saludos... y gracias por prestarme un poco de su atención.

Estoy haciendo un CMS y cuando almaceno en la BD, los caracteres con acentos me salen mal. En vez de salir la "á" me sale esto "á". Las bese de datos son utf8_spanish_ci y el motor de almacenamiento predeterminado del servidor es MyISAM.

Yo estoy usando esta configuración pero con ninguna me sale como debe ser:
$plato = htmlentities(utf8_decode($_REQUEST[plato]));
$plato = htmlentities($_REQUEST[plato]);

Alguna ayuda?

Gracias

Última edición por ecoloco; 28/08/2014 a las 04:18
  #2 (permalink)  
Antiguo 28/08/2014, 05:34
 
Fecha de Ingreso: marzo-2007
Mensajes: 28
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: Problemas con acentos en MySql

Y si lo guardas directamente sin pasarlo por htmlentities o utf8_decode?

Prueba a ver que valores te da guardandolo en diferentes variables, es lo que suelo hacer yo en este tipo de casos:

Código:
$plato = $_REQUEST[plato];
$plato2 = htmlentities($_REQUEST[plato]);
$plato3 = htmlentities(utf8_decode($_REQUEST[plato]));
$plato4 = htmlentities($_REQUEST[plato]);

echo "plato". $plato . "<br>plato2" . $plato2;
El problema igual es como tienes codificado el HTML donde envias "plato"
  #3 (permalink)  
Antiguo 28/08/2014, 05:49
 
Fecha de Ingreso: septiembre-2004
Ubicación: Vigo - Pontevedra
Mensajes: 39
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemas con acentos en MySql

me sigue dando los mismos errores con cualquiera de las posibles soluciones. Si escribo "felicitación", me coloca "felicitación".

Coloco aquí el codigo donde almaceno:
Código PHP:
Ver original
  1. <?php
  2. include ("../../config.php");
  3.  
  4. mysql_connect("$dbhost","$dbuser","$dbpass");
  5.  
  6. $plato          = htmlentities(utf8_decode($_REQUEST[plato]));
  7. //$plato        = htmlentities($_REQUEST[plato]);
  8. $precio         = htmlentities(utf8_decode($_REQUEST[precio]));
  9. //$precio       = htmlentities($_REQUEST[precio]);
  10. $accion         = $_REQUEST[accion];
  11. $contenido      = $_REQUEST[contenido];
  12.  
  13. $query = "INSERT INTO entrantes (plato, precio, descripcion, banner, activar) VALUES ('$plato','$precio', $contenido', '$_REQUEST[banner]', '$accion');";
  14. mysql_query($query);
  15.  
  16. ?>

Esta es la función en el js que almacena y luego envia al .php para guardar en la BD:

Código Java:
Ver original
  1. function enviaForm(){
  2.     if (arraArchBanner.length == 0){
  3.         alert("DEBES SUBIR UNA IMAGEN");
  4.     } else {
  5.  
  6.         var dataString = "plato=" + $("input[name=plato]").val();
  7.         dataString += "&precio=" + $("input[name=precio]").val();      
  8.        
  9.         if ($('#checkAd').is(":checked")){
  10.             valCk = 1;
  11.         } else {
  12.             valCk = 0;
  13.         }
  14.         dataString += "&accion=" + valCk;
  15.         dataString += "&contenido=" + escape($('textarea.textarea_class').val());
  16.         dataString += "&banner=" + arraArchBanner[0];
  17.        
  18.         $.ajax({
  19.             type: "POST",
  20.             url: "php/consulta/guardarEntrantes.php",
  21.             data: dataString,
  22.             success: function() {
  23.                 location.reload();
  24.             }
  25.         });
  26.     }
  27. }

Lo raro es que tengo otro proyecto en el cual funciona correctamente, y este viene a ser una "copia" del anterior... Esto me está volviendo loco...

Última edición por ecoloco; 28/08/2014 a las 05:57 Razón: codigos
  #4 (permalink)  
Antiguo 28/08/2014, 07:08
 
Fecha de Ingreso: marzo-2007
Mensajes: 28
Antigüedad: 17 años, 1 mes
Puntos: 7
Respuesta: Problemas con acentos en MySql

Has comprobado como tienes codificada la página de donde viene tu input name='plato'?
Comprueba que tienes en <meta http-equiv='Content-Type' > y compara las 2 páginas (la que te funciona bien y la que no).
  #5 (permalink)  
Antiguo 28/08/2014, 07:30
 
Fecha de Ingreso: septiembre-2004
Ubicación: Vigo - Pontevedra
Mensajes: 39
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemas con acentos en MySql

Hola djsampe... ambas tienen la misma codificación
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
  #6 (permalink)  
Antiguo 29/08/2014, 09:36
 
Fecha de Ingreso: septiembre-2004
Ubicación: Vigo - Pontevedra
Mensajes: 39
Antigüedad: 19 años, 6 meses
Puntos: 1
Respuesta: Problemas con acentos en MySql

Gracias a todos por sus buenos consejos... Por fin ya pude correjir el error. Gracias mil...

Etiquetas: acentos, html, mysql
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 08:56.