Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100

    Caratteri strani leggendo direttamente dal database di joomla

    Ho realizzato un feed personalizzato, per necessità particolari, che va a leggere sul database di un sito con joomla.

    Funziona bene, solo che in alcuni punti mi da aratteri strani: in firefox un quadrato con 1 e 0, in IE7 si ferma direttamente dicendo che ci sono errori in corrispondenza di questi caratteri.

    Ho provato utf8_encode(), ma non è cambiato niente, poi ho inizializzato la connessione con mysql_query("SET NAMES 'utf8'") e la situazione è addirittura peggiorata.

    Non essendo molto pratico di php, ed essendo quasi al buio per quanto riguarda joomla, non riesco a capire cos'è che devo fare per risolverlo...

    il codice è questo, ho solo modificato la connessione e qualosa della query, ma quella funziona perfettamente, è solo la visualizzazione che non va
    Codice PHP:
    <?php

    header
    ("Content-type: text/xml");
    echo 
    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <rss version=\"2.0\">
    <channel>
        <title>- - -k</title>
        <description>- - -</description>
        <link>- - -</link>\n"
    ;

    $dbcon mysql_connect("****","****","****");
    if (!
    $dbcon)
      {
      die(
    'Errore mysql: ' mysql_error());
      }

    mysql_select_db("****_1"$dbcon);

    //mysql_query("SET NAMES 'utf8'");
    $sql mysql_query("SELECT * FROM jos_content ORDER BY jos_content.publish_up DESC LIMIT 10");

    while(
    $rs mysql_fetch_array($sql))
      {
      
    $descrizione str_replace("images/""http://www.ilquartotempo.it/images/"str_replace("{loadposition bannerone}"""utf8_encode($rs['fulltext'])));
      echo 
    "    <item>
            <link>[url]http://www.sito.it/index.php?option=com_content&amp;view=article&amp;id=[/url]" 
    $rs['id_articolo'] . "</link>
            <title>" 
    utf8_encode($rs['titolo_articolo']) . "</title>
            <introtext><![CDATA[" 
    utf8_encode($rs['introtext']) . "]]></introtext>
            <description><![CDATA[" 
    $descrizione "]]></description>
            <category>" 
    $rs['nome_categoria'] . "</category>
            <pubDate>" 
    $rs['publish_up'] . "</pubDate>
            <created_by_alias>" 
    $rs['created_by_alias'] . "</created_by_alias>
        </item>\n"
    ;
      }

    mysql_close($dbcon);

    echo 
    "</channel>
    </rss>"
    ;
    ?>

  2. #2

    Re: Caratteri strani leggendo direttamente dal database di joomla

    Originariamente inviato da s0r42
    Ho realizzato un feed personalizzato, per necessità particolari, che va a leggere sul database di un sito con joomla.

    Funziona bene, solo che in alcuni punti mi da aratteri strani: in firefox un quadrato con 1 e 0, in IE7 si ferma direttamente dicendo che ci sono errori in corrispondenza di questi caratteri.

    Ho provato utf8_encode(), ma non è cambiato niente, poi ho inizializzato la connessione con mysql_query("SET NAMES 'utf8'") e la situazione è addirittura peggiorata.

    Non essendo molto pratico di php, ed essendo quasi al buio per quanto riguarda joomla, non riesco a capire cos'è che devo fare per risolverlo...

    il codice è questo, ho solo modificato la connessione e qualosa della query, ma quella funziona perfettamente, è solo la visualizzazione che non va
    Codice PHP:
    <?php

    header
    ("Content-type: text/xml");
    echo 
    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <rss version=\"2.0\">
    <channel>
        <title>- - -k</title>
        <description>- - -</description>
        <link>- - -</link>\n"
    ;

    $dbcon mysql_connect("****","****","****");
    if (!
    $dbcon)
      {
      die(
    'Errore mysql: ' mysql_error());
      }

    mysql_select_db("****_1"$dbcon);

    //mysql_query("SET NAMES 'utf8'");
    $sql mysql_query("SELECT * FROM jos_content ORDER BY jos_content.publish_up DESC LIMIT 10");

    while(
    $rs mysql_fetch_array($sql))
      {
      
    $descrizione str_replace("images/""http://www.ilquartotempo.it/images/"str_replace("{loadposition bannerone}"""utf8_encode($rs['fulltext'])));
      echo 
    "    <item>
            <link>[url]http://www.sito.it/index.php?option=com_content&amp;view=article&amp;id=[/url]" 
    $rs['id_articolo'] . "</link>
            <title>" 
    utf8_encode($rs['titolo_articolo']) . "</title>
            <introtext><![CDATA[" 
    utf8_encode($rs['introtext']) . "]]></introtext>
            <description><![CDATA[" 
    $descrizione "]]></description>
            <category>" 
    $rs['nome_categoria'] . "</category>
            <pubDate>" 
    $rs['publish_up'] . "</pubDate>
            <created_by_alias>" 
    $rs['created_by_alias'] . "</created_by_alias>
        </item>\n"
    ;
      }

    mysql_close($dbcon);

    echo 
    "</channel>
    </rss>"
    ;
    ?>
    non vorrei dire delle castronerie ma mi pare sia un problema di decodifica delle pagine html

    prova ad usare questo nell'haed delle pagine:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    oppure questo:
    ini_set('default_charset', 'iso-8859-1');

    questi esempi sono ovviamente solo per la codifica iso-8859-1

    esiste anche la codica utf8 che potrebbe andare bene

    spero di non aver detto solo cagate, ma io ho risolto così qualche tempo fa su un mio sito che dava problemi simili ai tuoi

    ciao

  3. #3
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100
    è un feed xml, e nell'intestazione metto già la codifica UTF8

    il problema si verifica con alcune lettere accentate e con i doppi apici, ma solo quelli inclinati diversamente

  4. #4
    Originariamente inviato da s0r42
    è un feed xml, e nell'intestazione metto già la codifica UTF8

    il problema si verifica con alcune lettere accentate e con i doppi apici, ma solo quelli inclinati diversamente
    magari hai provato a cambiargli la codifica?

  5. #5
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100
    effettivamente non ho provato, ma il sito è codificato in utf8 e li gli stessi contenuti si vedono bene

  6. #6
    Originariamente inviato da s0r42
    effettivamente non ho provato, ma il sito è codificato in utf8 e li gli stessi contenuti si vedono bene
    tentare non nuoce, facci sapere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.