Welcome to Pandora FMS Community!

Find answers, ask questions, and connect with our community around the world.

  • Problemas de acentos

    Posted by balanas on June 11, 2009 at 10:16

    Hola.

    Hemos bajado la última versión a día de 11/06/09 y hemos observado que los acentos se introducen bien en la base de datos (UTF-8) pero se muestran erróneamente en la web (&acute). ¿se puede hacer algo para solucionarlo?

    Gracias.

    balanas replied 15 years, 8 months ago 4 Members · 7 Replies
  • 7 Replies
  • manu

    Member
    June 12, 2009 at 05:38
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    ¿Puedes abrir un bug? http://sourceforge.net/tracker/?group_id=155200&atid=794852
    Pincha el boton de “Add new” y rellena los datos que veas 🙂

    Muchas gracias!

  • jmunozpa

    Member
    June 12, 2009 at 06:00
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola,

    De froma tempral, lo que hacemos es poner el código directo del acento de la forma siguiente:

    a -> & aacute;
    e -> & eacute;
    i -> & iacute;
    o -> & oacute;
    u -> & uacute;

    El & junto con el resto, es que si lo pongo todo no sale el código.
    Saludos,

    JM

  • Sancho

    Administrator
    June 13, 2009 at 07:55
    2321 Karma points
    Community awards: bulb Bright ideas
    Community rank: tentacle_master_icon Tentacle Master
    Like it
    Up
    0
    Down
    Drop it
    ::

    En que secciones te ocurre esto ?

  • balanas

    Member
    June 15, 2009 at 01:38
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Pues ocurre en todas las secciones en general. En cuanto hay una consulta a la base de datos, aparecen carácteres extraños tipo “?” o puede no aparecer si introducimos carácteres especiales directamente en la base de datos; o aparece &+acute ó &+tilde, si se introducen los carácteres desde la aplicación web.
    En “detalle del agente” y en “detalle de alertas” no aparecen los carácteres o aparecen los “&+acute”. En “detalle de monitores” y “gestionar agentes” aparecen codificados con un “?” y “&+acute”
    En “actualizar agente” en el título no aparece el carácter pero en la casilla de “nombre del agente” aparece el carácter “?”.

  • balanas

    Member
    June 15, 2009 at 04:21
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    He añadido: mysql_query (“SET NAMES ‘utf8′”); justo después de crear la conexión a la base de datos en el documento: config_process.php y ya se muestran los carácteres OK, pero cuando se introducen vía web lo hace con &+acute. ¿cómo se puede quitar esta conversión y que introduzca los datos directamente en UTF-8 a la base de datos? Gracias.

    El archivo queda:
    …..
    //Non-persistent connection. If you want persistent conn change it to mysql_pconnect()
    $config[‘dbconnection’] = mysql_connect ($config[“dbhost”], $config[“dbuser”], $config[“dbpass”]);
    mysql_query (“SET NAMES ‘utf8′”);
    if (! $config[‘dbconnection’]) {
    …..

  • Sancho

    Administrator
    June 15, 2009 at 04:39
    2321 Karma points
    Community awards: bulb Bright ideas
    Community rank: tentacle_master_icon Tentacle Master
    Like it
    Up
    0
    Down
    Drop it
    ::

    Es la version Trunk del SVN (3.0-dev) o la 2.1.1 ?

  • balanas

    Member
    June 15, 2009 at 04:43
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Es la versión 3.0 pero ya está arreglado.
    He modificado el fichero functions.php en su apartado de safe_input. He comentado toda la conversión html y le paso el valor directamente a la base de datos. Ha quedado como sigue:

    /*
    if (version_compare (PHP_VERSION, ‘5.2.3’) === 1) {
    if (! mb_check_encoding ($value, ‘UTF-8’))
    $value = utf8_encode ($value);
    return htmlentities ($value, ENT_QUOTES, “UTF-8”, false);

    } else {
    $translation_table = get_html_translation_table (HTML_ENTITIES, ENT_QUOTES);
    $translation_table[chr(38)] = ‘&’;
    return preg_replace (“/&(?![A-Za-z]{0,4}w{2,3};|#[0-9]{2,3};)/”, “&”, strtr ($value, $translation_table));
    }
    */
    return $value;