Foros del Web » Programando para Internet » PHP »

grabar/leer datos con acentos, eñes, comillas...

Estas en el tema de grabar/leer datos con acentos, eñes, comillas... en el foro de PHP en Foros del Web. Hola, trabajo con la base de datos MySQL y tengo una duda importante. Dentro de las tablas almaceno datos con comillas, acentos, eñes, interrogaciones, etc... ...
  #1 (permalink)  
Antiguo 10/10/2011, 13:16
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
grabar/leer datos con acentos, eñes, comillas...

Hola, trabajo con la base de datos MySQL y tengo una duda importante.

Dentro de las tablas almaceno datos con comillas, acentos, eñes, interrogaciones, etc...

Estos son los datos del servidor:

MySQL

Servidor: Localhost via UNIX socket
Versión del servidor: 5.0.51a-24+lenny5
Versión del protocolo: 10
Usuario: miweb@localhost
Juegos de caracteres de MySQL: UTF-8 Unicode (utf8)
Servidor web

Apache/2.2.17 (Unix) PHP/5.2.17 with Suhosin-Patch
Versión del cliente: 5.0.51a
extensión PHP: mysql



las tablas las tengo codificadas así: utf8_spanish2_c

Mis páginas web las tengo codificadas como UTF-8.

Y uso esto:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


El tema es que comparto mis registros almacenados en la base de datos con fb, google+... y a su vez traigo con xmlSimple desde google, youtube, .... registros que luego muestro en mi web.

El tema es que veo que algunas cosas funcionan de forma diferente. Por ejemplo comparto en fb o google+ mis registros (con acentos, comillas, etc) va bien pero cuando me traigo registros de youtube o google me salen caracteres raros.

En resumidas cuentas, quiero empezar a poner las cosas en su sitio y empezar a codificarlo todo bien.

Qué me podríais recomendar? graciasss
  #2 (permalink)  
Antiguo 10/10/2011, 13:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: grabar/leer datos con acentos, eñes, comillas...

Tendrias que detectar la codificacion del texto que obtienes y, si es el caso, codificarlo al juego de caracteres de tu sitio:

Detectar: mb_detect_encoding()
Codificar: mb_convert_encoding() o iconv() o utf8_encode()

Revisa el manual y prueba lo que mejor te acomode.
__________________
- León, Guanajuato
- GV-Foto

Última edición por Triby; 10/10/2011 a las 20:59 Razón: Error con enlace utf8_encode()
  #3 (permalink)  
Antiguo 10/10/2011, 15:08
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: grabar/leer datos con acentos, eñes, comillas...

El último link no va. vale, eso para cuando me traiga texto de otros sitios pero... qué me podéis aconsejar para mi sitio?

Es decir teniendo en cuenta que hay texto en español con toda la retaila de caracteres (acentos, ñ, ¿...) cómo me convendría almacenar los datos en la base de datos?

porque ahora los tengo tal cual, como se escribe en español sin convertirlos a html o cosas así y me da que no es muy conveniente pero no sé...
  #4 (permalink)  
Antiguo 10/10/2011, 20:58
 
Fecha de Ingreso: octubre-2011
Ubicación: CABA
Mensajes: 63
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: grabar/leer datos con acentos, eñes, comillas...

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>

Cambia el que tengas por este, y decime si te funciono.
  #5 (permalink)  
Antiguo 10/10/2011, 21:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: grabar/leer datos con acentos, eñes, comillas...

Ya corregi el ultimo enlace... sorry por el error.

Ahora, la idea de usar juegos de caracteres especificos es, precisamente, no tener que recurrir a las entidades HTML, lo cual resulta mas conveniente para agilizar procesos y, hasta cierto punto, ahorrar espacio, principalmente si tu tienes el control de toda la informacion.

Para origines externos (facebook, twitter, etc), creo que necesariamente tendras que comparar y, en su caso, convertir la informacion para usar el mismo juego de caracteres de tu sitio, de lo contrario veras esos "simbolos raros".
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 11/10/2011, 01:30
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: grabar/leer datos con acentos, eñes, comillas...

Para fb, twitter, google+... creo que no es complicado convertir mi contenido al formato que ellos necesitan.
El mayor problema es cómo empezar, es decir cómo almacenar los datos que tengo en mi base de datos, con qué codificación.
En cuanto al juego de caracteres de mi web, he leido algo de que el estándar es el UTF-8 pero no lo tengo claro.
Alguna idea?

Etiquetas: acentos, eñes, html, mysql, registro, tabla, usuarios
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 16:14.