Regresar a la página ComoCrearTuWeb.com
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 16

Tema: Problemas con acentos y caracteres

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 ago, 11
    Mensajes
    61
    Poder de Reputación
    15

    Problemas con acentos y caracteres

    Me hice mi web "www.cendelaco.com" hace ya un tiempo, gracias a "comocreartuweb".
    Mi web esta formada por paginas html y php y una base de datos phpMy admin.

    Todo iba sobre ruedas, hasta hace una semana.
    TODOS LOS ACENTOS Y CARACTERES ESPECIALES COMO "€" SE VOLVIERON LOCOS. (No tengo ni idea del porque)

    He estado investigando por ahí y por acá, y he llegado a esta conclusión:

    1.- Cotejamiento para las conexiones al servidor y para las tablas: "utf8_general_ci"
    2.- Cotejamiento de campo: "utf8_spanish_ci"
    3.- Justa tras la conexión con el servidor, colocar esta sentencia: "mysql_query("SET NAMES 'utf8'")"
    4.- Y por último, canviar el meta. "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />"
    por este otro: "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">"

    En principio los textos dentro de la base de datos esta solucionado, pero los textos únicamente con código HTML no encuentro la solución.

    Podriais echarme una mano ?
    Me estoy volviendo loco

    Gracias
    Mi web es www.cendelaco.com

  2. #2
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 jun, 12
    Mensajes
    121
    Poder de Reputación
    0
    a mi también me ha pasado... el hosting es de sered?
    mi primera web: adoptivanet.info

  3. #3
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,046
    Poder de Reputación
    26
    Hola:

    El tema de la codificación es algo complejo... en la base de datos (aunque lo hayas resuelto), siempre debes usar la misma codificación que la usada en tu HTML. Por ejemplo, si usas iso-8859-1, entonces en la base de datos debes usar latin1 (existen también latin2, 3, 4, 5... que son similares, pero latin1 es más completo): mysql_query( "SET NAMES 'latin1'" ). En base de datos también existe otra cosa que se llama collation, relacionada con las búsquedas y comparaciones de los campos.

    En HTML, si utilizas utf-8 como codificación, entonces debes codificar todo el texto con esta, de lo contrario se ven los caracteres raros que mencionas. Hay 2 formas de hacerlo:

    Con PHP: utf8_encode( "Algún Opción Ñandú." );
    Sin PHP: Alg&uacute;n Opci&oacute;n &Ntilde;and&uacute;.

    Aunque también depende de la codificación que hayas usado al crear el archivo html en tu editor. Generalmente los editores (Dreamweaver, bloc de notas, notepad++, eclipse, etc.) utilizan utf-8, pero puede cambiar, y ese cambio es el que deja todo con caracteres irreconocibles.

    En resumen, utiliza la misma codificación en tu base de datos, HTML y editor para no tener problemas con los caracteres.

    Suerte y saludos.

  4. #4
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 ago, 11
    Mensajes
    61
    Poder de Reputación
    15
    Si "Igualada", el hosting es de SERED.

    "Skaparate", yo utilizo el editor HTML-Kit, por lo tanto puedo escoger la codificación.
    Deduzco, según tu explicación que si uso "iso-8859-1":

    1.- Cotejamiento para las conexiones al servidor y para las tablas: "latin1_general_ci"
    2.- Cotejamiento de campo: "latin1_spanish_ci"
    3.- Justa tras la conexión con el servidor, colocar esta sentencia: "mysql_query("SET NAMES 'latin1'")"
    4.- Y el meta: "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />"

    I si uso "utf-8":

    1.- Cotejamiento para las conexiones al servidor y para las tablas: "utf8_general_ci"
    2.- Cotejamiento de campo: "utf8_spanish_ci"
    3.- Justo tras la conexión con el servidor, colocar esta sentencia: "mysql_query("SET NAMES 'utf8'")"
    4.- Y el meta: "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">"

    He leido en alguna parte que el cotejamiento para las conexiones al servidor y para las tabals tenia que usar: "utf8_unicode_ci".

    Ayer al acabar el dia, los de "SERED" no se que hicieron, pero arreglaron el problema con el codigo HTML, pero volvieron a desarreglar el texto extraido de la base de datos con PHP.
    Lo que no entiendo, es porque hasta hace una semana todo funcionava correctamente, y de golpe y porrazo todo queda liado ?

    Podeis darme mas ideas, y si puede ser mas específicas, por favor ?
    Gracias por vuestra ayuda.

  5. #5
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,046
    Poder de Reputación
    26
    "Skaparate", yo utilizo el editor HTML-Kit, por lo tanto puedo escoger la codificación.
    Deduzco, según tu explicación que si uso "iso-8859-1":

    1.- Cotejamiento para las conexiones al servidor y para las tablas: "latin1_general_ci"
    2.- Cotejamiento de campo: "latin1_spanish_ci"
    3.- Justa tras la conexión con el servidor, colocar esta sentencia: "mysql_query("SET NAMES 'latin1'")"
    4.- Y el meta: "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />"

    I si uso "utf-8":

    1.- Cotejamiento para las conexiones al servidor y para las tablas: "utf8_general_ci"
    2.- Cotejamiento de campo: "utf8_spanish_ci"
    3.- Justo tras la conexión con el servidor, colocar esta sentencia: "mysql_query("SET NAMES 'utf8'")"
    4.- Y el meta: "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">"
    Claro, eso es. En el fondo, siempre debes utilizar la misma codificación en todo lo involucrado.

  6. #6
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 ago, 11
    Mensajes
    61
    Poder de Reputación
    15
    SKAPARATE: PUES NO FUNCIONA. LLEVO MAS DE DOS DIAS INTENTADO ARREGLAR EL PROBLEMA CON MAS DE MIL MANERAS DE SOLUCIONARLO, Y NO LO CONSIGO.

    PERDONA,PERO HE PREPRADO ESTE TOCHO:

    MI PAGINA WEB (gracias a los consejos de "COMO CREAR TU WEB")

    www.cendelaco.com

    CARACTERISTICAS DE LA BASE DE DATOS QUE TENGO CREADA

    Servidor: Localhost via UNIX socket
    Programa: MySQL
    Versiones de programa: 5.5.30-cll-lve - MySQL Community Server (GPL)
    Versión del protocolo: 10
    Conjunto de caracteres del servidor: UTF-8 Unicode (utf

    Os voy a comentar lo poco que se (o nada) del tema.
    Por favor, alguien podria completar este tema.

    El problema del cotejamiento viene de raiz:

    PRIMERO:

    Segun tengo entendido, todo empieza con el código fuente (debemos escojer el cotejamiento de antemano).
    He leido que si estoy usando un ordenador con "Windows" estamos utilizando por defecto el cotejamiento "ISO-8859-1".
    Si utilizamos segun que editor también viene predeterminado (como por ejemplo Dreamweaver, bloc de notas, notepad++, eclipse, etc.). Estos utilizan "utf-8".
    Yo utilizo HTML-Kit con un ordenador con "windows". SABE ALGUIEN QUE COTEJAMIENTO ESTOY UTILIZANDO ? COMO PUEDO SABERLO? Y COMO PODER CAMBIARLO UNA VEZ HECHO EL CODIGO?

    A partir de aquí todo tiene que ir relacionado según el código escogido: "ISO-8859-1" o "utf-8".
    Pero aún hay mas: Si quiero utilizar el símbolo "€" (euros) debo utilizar "ISO-8859-15"

    Segun "WIKIPEDIA":
    ISO 8859-15 es la parte 15 de ISO 8859, un estándar de codificación de caracteres definido por la Organización Internacional para la Estandarización.
    También es conocido como Latin-9, y de forma no oficial como Latin-0 pero no como Latin-15. Es similar a ISO 8859-1 pero sustituye algunos símbolos poco comunes por el símbolo del euro y algunos otros caracteres que faltaban.
    Codifica los caracteres con 8 bits y puede usarse para representar el alfabeto y otros caracteres importantes para almacenar textos en inglés, francés, alemán, español y portugués (entre otros idiomas de Europa occidental) en ordenadores.

    UTF-8 (8-bit Unicode Transformation Format) es un formato de codificación de caracteres Unicode e ISO 10646 utilizando símbolos de longitud variable.


    SEGUNDO:

    Otro tema muy diferente son las bases de datos, por ejemplo "phpMy Admin".
    A la hora de crear una base de datos debemos de tener en cuenta el codigo fuente de nuestra página, y aquí está la madre del cordero:

    SI ESTOY UTILIZANDO "ISO-8859-15:

    1.- Que Cotejamiento utilizo para las conexiones al servidor ?
    2.- Que Cotejamiento utilizo para las tablas ?
    3.- Que Cotejamiento utilizo para los campos de las tablas ?
    4.- Justo tras la conexión con el servidor, que sentencia debo colocar? "mysql_query("SET NAMES 'latin1'")" o "mysql_query("SET NAMES 'latin9'")" o "mysql_query("SET NAMES 'utf-8'")" o cual?
    5.- Y entodas las páginas que "META" colocamos en el <head>: "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15"/>" o "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>" o "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">"

    Y SI ESTOY UTILIZANDO "utf-8":

    1.- Que Cotejamiento utilizo para las conexiones al servidor ?
    2.- Que Cotejamiento utilizo para las tablas ?
    3.- Que Cotejamiento utilizo para los campos de las tablas ?
    4.- Justo tras la conexión con el servidor, que sentencia debo colocar? "mysql_query("SET NAMES 'latin1'")" o "mysql_query("SET NAMES 'latin9'")" o "mysql_query("SET NAMES 'utf-8'")" o cual?
    5.- Y entodas las páginas que "META" colocamos en el <head>: "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15"/>" o "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>" o "<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">"


    FINALMENTE: UN CONSEJO POR FAVOR. CUAL DE LAS DOS CODIFICACIONES RECOMENDAIS ? (siempre que se vean bien los acentos, ñ y símbolos como el €)

    MUCHAS GRACIAS POR ADELANTADO.

  7. #7
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    840
    Poder de Reputación
    21
    Yo siempre lo pongo así i siempre me a funcionado bien, codificando directamente los caracteres en el html y base de datos = la inserción en las tablas.

    ñ
    &ntilde;


    despues del ultimo numero 4 pones este caracter punto y coma = ;
    &#8364

    símbolos
    s&iacute;mbolos

    Y ya por ultimo la meta de codificación en el head.

    ISO-8859-1 lenguaje latino UTF-8 universal contiene la mayoria de caracteres.
    Última edición por francisco1; 04/07/2013 a las 18:38

  8. #8
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 ago, 11
    Mensajes
    61
    Poder de Reputación
    15
    Gracias Francisco.
    He probado el meta "<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> ñ = "&ntilde;" y € = "€" , y de momento funciona el código html, pero el codigo que tengo dentro de la base de datos no !!!.

    Quedan 4 puntos aún:

    1.- Que Cotejamiento utilizo para las conexiones al servidor ?
    2.- Que Cotejamiento utilizo para las tablas ?
    3.- Que Cotejamiento utilizo para los campos de las tablas ?
    4.- Justo tras la conexión con el servidor, que sentencia debo colocar? "mysql_query("SET NAMES 'latin1'")" o "mysql_query("SET NAMES 'latin9'")" o "mysql_query("SET NAMES 'utf-8'")" o cual?

  9. #9
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    840
    Poder de Reputación
    21
    Cuando insertes en la base de datos tienes que codificarlo igual que con el html i para lo que ya tienes en la base = tablas deverias ir y clicar una por una y codificarlo allí con estos caracteres y otros tantos que hay.

    ñ

    &ntilde;


    despues del ultimo numero 4 pones este caracter punto y coma = ;
    &#8364

    símbolos
    s&iacute;mbolos

  10. #10
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 ago, 11
    Mensajes
    61
    Poder de Reputación
    15
    Piensa que los datos que inserto en la base de datos los guardo directamente desde un formulario de la propia web (es una web admisnitrada).
    Tiene que haber algun modo para poder guardar los tados y después recuperarlos sin tener que hacer todo este trabajo.
    Es mas, la web lleva funcionando casi dos años, y hasta ahora habia funcionado correctamente
    (la cree con las instrucciones de JORGENS: solo puse como cotejamiento las tablas y los caracteres con utf8_spanish_ci. Todo lo demas predeterminado de la misma base),
    hasta que el SERVIDOR "SERED", ha actualizado alguna cosa y se liado todo.

    TIENE QUE HABER UNA CONFIGURACIÓN DE COTEJAMIENTO QUE PUEDA LIGARLO TODO!!!

  11. #11
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    840
    Poder de Reputación
    21
    Yo cuando inserto desde un formulario también inserto html puedes hacerlo, a no ser que en el código php lo tengas bloqueado en tal caso no podrás hacerlo no te puedo decir mas porque yo siempre lo hago así seria diferente una web que inserten datos muchas personas un saludo.

  12. #12
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 ago, 11
    Mensajes
    61
    Poder de Reputación
    15
    El problema real es que somos varias personas que introducimos datos desde el formulario.
    Alguien tiene alguna otra IDEA?

    Gracias

  13. #13
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    840
    Poder de Reputación
    21
    Crear una función y ponerla en el formulario de inserción para reemplazar los caracteres, de esta forma php cambiara esos caracteres de como se escribe en el formulario y insertara código html en los campos, filas de la tabla y lo devolverá a la web tal y como se escrivio pudiendo de esta forma insertar datos cualquier persona sin saber código html como el editor de este foro por ejemplo, investiga como hacerlo en php o busca un tutorial .http://www.pedroventura.com/php/problemas-codificacion-web-configurar-codificacion-utf8-php-mysql-y-html/

    este es utf8 pero podria servir tamvien para ISO-8859-1

  14. #14
    Me va gustando esto... Habitante
    Fecha de Ingreso
    02 ago, 11
    Mensajes
    61
    Poder de Reputación
    15
    Gracias Francisco por tu ayuda y dedicación.

    Lo que me estas comentando es cierto y no hay problema en realizar la codificación en php de esta tarea. El problema para mi es mas profundo. Por una parte quiero solucionar el problema ya!!, (en parte ya lo tengo solucionado GRACIAS A TI), pero me gustaria entender de cabo a rabo la manera de configurar "de raiz" ( es decir, empezando por crear codigo con un cotejamiento concreto CON EDITOR EN CONCRETO y finalizando con la creacion , escritura y llamada de la base de datos).
    He buscado por todas partes, y no encuentro nada que lo explique de forma clara y facil de entender para gente como yo(novato de cabo a rabo).

    ME GUSTARIA ENTENDER SEA CAUL SEA EL COTEJAMIENTO: "ISO-8859-15", "utf-8", ....

    1.- Que Cotejamiento utilizo para las conexiones al servidor ?
    2.- Que Cotejamiento utilizo para las tablas ?
    3.- Que Cotejamiento utilizo para los campos de las tablas ?
    4.- Justo tras la conexión con el servidor, que sentencia debo colocar?
    5.- Y entodas las páginas que "META" colocamos en el <head>:


    Gracias otra vez.

  15. #15
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    05 mar, 10
    Mensajes
    840
    Poder de Reputación
    21

    ME GUSTARIA ENTENDER SEA CAUL SEA EL COTEJAMIENTO: "ISO-8859-15", "utf-8", ....


    1.- Que Cotejamiento utilizo para las conexiones al servidor ?
    2.- Que Cotejamiento utilizo para las tablas ?
    3.- Que Cotejamiento utilizo para los campos de las tablas ?
    4.- Justo tras la conexión con el servidor, que sentencia debo colocar?
    5.- Y entodas las páginas que "META" colocamos en el <head>:


    La 5 te la puedo responder las demás creo que skaparate te dijo algo sobre eso me parece yo normalmente cuando creo la base y las tablas en phpmyadmyn también creo el coteja miento hay en la entrada configuraciones generales coteja miento de la conexión con el servidor utf8-general-ci para los campos utf8mb4-spanish-ci y por ultimo codificar los caracteres mediante código html sea en web archivos o desde un formulario de inserción en la base de datos no se mucho mas puesto que no me hizo falta hacer nada mas un saludo.

    5 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> en el head de todas las paginas


Página 1 de 2 12 ÚltimoÚltimo

Temas Similares

  1. Respuestas: 3
    Último Mensaje: 15/08/2012, 03:16
  2. Problema con acentos y caracteres en mi web
    Por victor5atodogas en el foro Foro General
    Respuestas: 16
    Último Mensaje: 13/01/2012, 11:57
  3. Resuelto los problemas con los acentos y la ñ.
    Por akivaz en el foro Tutoriales Varios
    Respuestas: 2
    Último Mensaje: 25/04/2008, 10:26

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •