Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemas con caracteres acentuados y ñ

Estas en el tema de Problemas con caracteres acentuados y ñ en el foro de Bases de Datos General en Foros del Web. Saludos amigos del foro... Tengo una base de datos en MySQL, y los datos se introducen en ella, por medio de un formulario HTML. Eso ...
  #1 (permalink)  
Antiguo 25/11/2003, 15:04
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Problemas con caracteres acentuados y ñ

Saludos amigos del foro...

Tengo una base de datos en MySQL, y los datos se introducen en ella, por medio de un formulario HTML. Eso funciona perfecto excepto cuando intento introducir caracteres acentuados o con ñ, y me aparece el siguiente error:

Cita:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


--------------------------------------------------------------------------------

Apache/2.0.45 (Win32) Server at localhost Port 80
Revisando por ahi consegui este post donde le decian alguien que era algo sobre la configuración del browser, y que para resolverlo le recomendaron que debia poner lo siguiente:

Código PHP:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
Lo he hecho y no ha funcionado

Imagino que debe ser una tonteria, pero la verdad no veo cual puede ser , si alguien me ilumina...

Muchas Gracias por adelantado


Última edición por alexa10; 26/11/2003 a las 07:26
  #2 (permalink)  
Antiguo 26/11/2003, 01:40
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Si te da el mismo error si es que intentas introducir el apellido D'Ornellas, entonces el problema es que estas aceptando comillas simples y dobles.

Debes reemplazar las comillas simples por ' y las dobles por "
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 26/11/2003, 07:26
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Muchas gracias Mickel por contestar...

No me da el mismo error, lo que hace es sustituir la comilla simple ', por \'

Ahora también tengo que resolver eso!!!

Alguien que me ayude, , por favor!!!

Última edición por alexa10; 26/11/2003 a las 07:27
  #4 (permalink)  
Antiguo 27/11/2003, 12:52
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Eso esta bien. \' es la forma correcta de ingresar comilla simple en mySQL para evitar conflicto con los delimitadores de campos, lo mismo que \" lo es para evitar conflicto con los de sentencia

Lo que te sugeria era que reemplazes
' (caracter 39) por &amp;39;
y
" (caracter 34) por &amp;34;
__________________
No tengo firma ahora... :(

Última edición por Mickel; 27/11/2003 a las 13:09
  #5 (permalink)  
Antiguo 27/11/2003, 13:30
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Saludos Mickel, y de verdad muchas gracias por contestar...

Aprovecho que estas en linea para hacerte otras pregunticas, :
  • Como hago para introducir caracteres acentuados y ñ en la base de datos, porque me sigue dando error?
  • Como hago para realizar ese cambio a la hora de presentarlo por pantalla

Por cierto estoy usando PHP

, una ayudita, estoy por volverme loca...
  #6 (permalink)  
Antiguo 27/11/2003, 15:02
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Pues, para empezar, no me explico el por que te da error. Pero yo no se nada sobre configurar servidores asi que de repente el tema va por alli.

Veamos la parte PHP en la que si te puedo ayudar.

Si usas str_replace podrias reemplazar
á por &amp;aacute;
é por &amp;eacute;
í por &amp;iacute;
ó por &amp;oacute;
ú por &amp;uacute;
ñ por &amp;ntilde;

Al hacer esto estas convirtiendo el caracter en el equivalente universal en HTML, con lo cual al salir por pantalla saldra sin problemas. Dos pajaros de un tiro.

A ver pruebalo y a ver como va...
__________________
No tengo firma ahora... :(
  #7 (permalink)  
Antiguo 27/11/2003, 15:15
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Gracias, de verdad...

Pruebo y luego te cuento como me fue...

  #8 (permalink)  
Antiguo 01/12/2003, 08:37
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Muchas Gracias por tu ayuda Mickel, lo que me enviaste funciona de perlas , pero lo resolví de otra forma...

El error me estaba dando por ciertos manejos que estaba haciendo en el sistema, donde enviaba los caractares acentuados y las ñ por la URL, pero ya esta resuelto...

Lo resolví de la forma más tonta , no los envio por la URL, hago una consulta SQL, y lo tomo de la BD, y listo, ya no hay más error...

  #9 (permalink)  
Antiguo 01/12/2003, 22:59
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 21 años, 11 meses
Puntos: 7
Bueno. Pero la proxima vez, usa urlencode cuando envies parametros por url.
__________________
No tengo firma ahora... :(
  #10 (permalink)  
Antiguo 02/12/2003, 07:31
Avatar de alexa10  
Fecha de Ingreso: julio-2002
Ubicación: De este lado...
Mensajes: 293
Antigüedad: 21 años, 9 meses
Puntos: 0
Saludos Mickel....

Si disculpas, pero que es el urlencode ???

Muchas gracias de antemano...

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 17:12.