Foros del Web » Programando para Internet » PHP »

caracteres extraños

Estas en el tema de caracteres extraños en el foro de PHP en Foros del Web. He hecho un formulario con pform que manda sus datos a un script hecho en PHP por mi para meterlos en una base de datos ...
  #1 (permalink)  
Antiguo 01/10/2013, 00:21
Avatar de tognaco  
Fecha de Ingreso: noviembre-2004
Mensajes: 147
Antigüedad: 19 años, 5 meses
Puntos: 1
caracteres extraños

He hecho un formulario con pform que manda sus datos a un script hecho en PHP por mi para meterlos en una base de datos y tal. todo funciona bien, si no fuera por el hecho de que los acentos y eñes que el usuario envía son enviados por el navegador de una forma muy extraña, por ejemplo: "Falta de colaboración sistemática ". Para intentar aislar el problema, le digo al script que me muestre en pantalla las variables recogidas antes de mandarlas a la base de datos y, curiosamente, ocurre que:

- Firefox me manda caracetres normales españoles
- Chrome me los manda ya en formato extraño
- Sin embargo, en la base de datos aparecen en ambos casos con sus caraceteres extraños.

He probado a poner todos los campos de la tabla que recoge los datos con todas las codificaciones que se me han ocurrido: UTF 8 general ci, UTF spanish ci, Latin spanish ci... obteniendo en todos los casos los mismos caracteres extraños. Ya no sé qué más probar. ¿Podríais ayudarme, por favor?

Gracias anticipadas.
  #2 (permalink)  
Antiguo 01/10/2013, 04:35
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: caracteres extraños

Y en la pagina igual le pusiste utf8?
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 01/10/2013, 05:23
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: caracteres extraños

Si es informacion mandada mediante una web y no la has codificado en utf-8 tienes que usar utf-8_encode antes de ingresar los datos en la DB para que los guarde en ese formato.
  #4 (permalink)  
Antiguo 01/10/2013, 06:53
Avatar de tognaco  
Fecha de Ingreso: noviembre-2004
Mensajes: 147
Antigüedad: 19 años, 5 meses
Puntos: 1
Respuesta: caracteres extraños

Os pego el head del documento con el formulario:

Código HTML:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Adición de nuevo usuario</title>
<link rel="stylesheet" type="text/css" href="view.css" media="all">
<script type="text/javascript" src="view.js"></script>

</head> 
¿Es eso suficiente o debería haber hecho algo más?

P.D. Por cierto. el cotejamiento de la tabla donde entran los datos es UTF8_general_ci
  #5 (permalink)  
Antiguo 01/10/2013, 07:49
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: caracteres extraños

muestrame el codigo del formulario o dime si es enviado por GET o por POST.
Si es enviado por GET, ten en cuenta que seria igual a que le pasases la funcion url_encode, con lo que te cambiaria todos los caracteres acentuados y palabras raras.
Haz lo que te dije con anterioridad.
las funciones que te tienes que mirar son utf-8_encode y utf-8_decode
  #6 (permalink)  
Antiguo 01/10/2013, 07:55
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: caracteres extraños

A parte de lo que ya te han dicho es importante que tus archivos estén codificados en UTF-8 SIN BOM

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 01/10/2013, 12:55
Avatar de tognaco  
Fecha de Ingreso: noviembre-2004
Mensajes: 147
Antigüedad: 19 años, 5 meses
Puntos: 1
Respuesta: caracteres extraños

Efectivamente, parece que he podido solucionar el problema utilizando utf8_decode con cada una de las variables que recogía mediante POST. Gracias por la sugerencia. Pero me gustaría aprovechar para aclararme de una vez por todas:

¿Podría haber enviado el formulario por GET tratándose de variables de texto? Tenía entendido que sólo se hace para enviar archivos.
En Dreamweaver, ¿cómo se guarda en UTF sin BOM? Le doy al archivo, guardar como y me sale una casilla abajo "Include Unicode Signature (BOM)". ¿Debo señalarla o no?

De nuevo, gracias por vuestra ayuda.

Etiquetas: caracteres, extraños, formulario, tabla, variable
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 07:57.