Foros del Web » Programando para Internet » PHP »

charset correcto

Estas en el tema de charset correcto en el foro de PHP en Foros del Web. Estimados alguien podria decirme la manera correcta de insertar un registro en la db mysql? con que charset hay que meterlo? en las paginas php ...
  #1 (permalink)  
Antiguo 19/07/2006, 14:11
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 16 años
Puntos: 1
charset correcto

Estimados alguien podria decirme la manera correcta de insertar un registro en la db mysql?

con que charset hay que meterlo?

en las paginas php le pongo
header("Content-type: text/html; charset=UTF-8");

eso hará que todo lo que procese php lo haga con UTF-8 ?
es independiente del resto del contenido html de mi pagina?
espero alguien pueda darme un poco de luz!!
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 19/07/2006, 16:13
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
El sistema operativo tiene un charset.
Las tablas de mysql tienen un charset definido al momento de crearlas.
Apache tiene un charset definido en el archivo conf.
Se pueden enviar cabeceras al navegador tal como indicas.
Como vez no sólo depende de las cabeceras del documento.
  #3 (permalink)  
Antiguo 19/07/2006, 18:34
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 16 años
Puntos: 1
la pregunta seria entonces.. como meto a la db, con que charset
porque puedo hacer utf_encode cargarlo y luego... solo mostrarlo sin modificar las cabeceras.. no?
__________________
On error no hago nada porque deje de fumar...
  #4 (permalink)  
Antiguo 20/07/2006, 09:04
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Podrías escribir los datos en utf-8 en la tabla definiendola asi:

Código:
CREATE TABLE mitabla (
  `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY(`id`)
)
ENGINE = InnoDB
CHARACTER SET utf8 ;
  #5 (permalink)  
Antiguo 20/07/2006, 09:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por dieguicho
Estimados alguien podria decirme la manera correcta de insertar un registro en la db mysql?

con que charset hay que meterlo?

en las paginas php le pongo
header("Content-type: text/html; charset=UTF-8");

eso hará que todo lo que procese php lo haga con UTF-8 ?
es independiente del resto del contenido html de mi pagina?
espero alguien pueda darme un poco de luz!!
mm Por qué no usas el charset:
iso-8859-1

(Latin1) ...

Con ese charset ya tienes la Ñ y acentos entre otros caracteres

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 20/07/2006, 14:56
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 16 años
Puntos: 1
donde sugieres usarlo?
en mysql, a la hora de insertar un registro o a la hora de mostrarlo?
__________________
On error no hago nada porque deje de fumar...
  #7 (permalink)  
Antiguo 20/07/2006, 15:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En Mysql tienes el "colation", ahí deberías gestionarlo como "Latin1" (ISO-nosecuantos ..)

A su vez todo lo demás debería componer sus "charset" con ese mismo juego de caracteres.

En principio a tu servidor HTTP (Apache por ejemplo) le puedes decir que su "charset" por defecto sea el "Latin1" .. así lo indiques expresamente en tus scripts PHP o HTML se generá en ese contexto. (Y si no puedes cambiarlo de configuración del servidor HTTP o no quieres depender de ella, fuerzalo enviando las cabeceras HTTP correspondientes (como las que usas desde PHP con header()...)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 20/07/2006, 15:37
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 16 años
Puntos: 1
ok, bueno una parte está solucionada....
el problema es que meto registros a la base desde flash y desde html
los de html están ok los acentos
la pagina que recibe los datos y los carga a la db tiene...

header("Content-type: text/html; charset=iso-8859-1");

como dije la version html funciona ok, pero la version flash manda datos a esta pagina y esta pagina los carga, pero lso carga re mal.
no hay un unico charset correcto para ambos? o deberia dentificar si quien envia los datos es html o flash?
gracias cluster por tu ayuda
__________________
On error no hago nada porque deje de fumar...
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 01:48.