Foros del Web » Programando para Internet » PHP »

Php y acentos

Estas en el tema de Php y acentos en el foro de PHP en Foros del Web. Hola amigos, Sé que este tema está supercomentado, pero por más que leo no consigo hacer que funcione y la verdad que ya estoy desesperado. ...
  #1 (permalink)  
Antiguo 21/02/2010, 15:55
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 11 años, 8 meses
Puntos: 2
Mensaje Php y acentos

Hola amigos,

Sé que este tema está supercomentado, pero por más que leo no consigo hacer que funcione y la verdad que ya estoy desesperado.

Pongo aquí el código:


Código PHP:
<?php

$no 
"María José";


mysql_connect(localhost,root,pass); 
  
      
mysql_db_query(db"INSERT INTO nueva (Nombre) VALUES ('$no')"
      or die(
"Database Error");

?>

Me guarda en la base de datos: Marà a José
  #2 (permalink)  
Antiguo 21/02/2010, 16:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: Php y acentos

mmm.... pues tienes tres alternativas, antes de almacenar la variable la conviertes a la codificación...

o bien, al sacarla... además, no olvides especificar el charset de tu documento... ;)

la ultima, y mas eficaz de todas... es convertir el texto a sus entidades usando htmlentities()
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/02/2010, 16:51
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Php y acentos

Muchas gracias por la respuesta, pero estoy empezando y no se muy bien como hacerlo la verdad.

Me podrías detallar más detenidamente qué y cómo lo tengo que colocar.

Muchas gracias de nuevo, porque estoy ya decepcionado... :(
  #4 (permalink)  
Antiguo 21/02/2010, 17:31
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 14 años, 2 meses
Puntos: 56
Respuesta: Php y acentos

Hola, es normal que se muestre en ese formato ya que depende del CHARSET que hayas definido para tu base de datos, si lo dejaste en UTF-8 así se mostrarán, pero si el CHARSET lo declaras como LATIN entonces se mostrarán tal cual las ingreses.
En definitiva debes tener en consideración lo siguiente: el CHARSET de tu base de datos y el de tu aplicación deben ser los mismos para que no ocurran problemas de conversión con los caracteres especiales.
Cuál charset usar ? de manera personal prefiero el UTF-8 para mantener la compatibilidad, pero al final depende del desarrollador.
Puedes ayudarte con las funciones htmlentities, html_entity_decode, htmlspecialchars, utf8_encode, utf8_decode.
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #5 (permalink)  
Antiguo 22/02/2010, 02:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Php y acentos

Muchísimas gracias!

He probado varías cosas y te muestro los resultados:


Código PHP:
<?php



$no 
"María José";    //Si se define en el email $nom tal y cómo está aquí FUNCIONA

$no $HTTP_POST_VARS['nombre'];  // PERO SI ME LLEGA DESDE UN .SWF YA NO

$nom htmlspecialchars($noENT_COMPAT'UTF-8');


   
mysql_connect(localhost,root,emilio); 
  
      
   
mysql_db_query(db"INSERT INTO nueva (Nombre) VALUES ('$nom')"
     or die(
"Database Error");


?>

Última edición por emilio_oli; 22/02/2010 a las 02:33
  #6 (permalink)  
Antiguo 22/02/2010, 04:36
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 17 años, 10 meses
Puntos: 29
Respuesta: Php y acentos

Utiliza $_POST mejor

Código PHP:
Ver original
  1. $no = $_POST['nombre'];  // PERO SI ME LLEGA DESDE UN .SWF YA NO
Cómo te llega desde un swf? Por get?
Código PHP:
Ver original
  1. $no = $_GET['nombre'];
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #7 (permalink)  
Antiguo 22/02/2010, 04:51
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Php y acentos

Gracias, con lo del post sigue igual.

Puedo elegir, entre GET y POST, pero suelo enviarlo por post siempre.

Última edición por emilio_oli; 22/02/2010 a las 04:57
  #8 (permalink)  
Antiguo 22/02/2010, 04:55
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 10 años, 4 meses
Puntos: 150
Respuesta: Php y acentos

la funcion utf_encode($variable) te puede servir, pero creo que tu problema esta en la codificación de tus tablas y campos de la base de datos, ponlos a utf8
  #9 (permalink)  
Antiguo 22/02/2010, 04:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Php y acentos

como lo hago?? asi?


$nom=utf8_encode($nombre);

Etiquetas: acentos
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 19:17.