Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    ’ à e altri strani caratteri...

    ciao ragazzi, eseguo questa operazione su un file rss

    Codice PHP:
    $rss implode(""file($webpage));

       
    $pattern "/<item[^>]*?>.*?<\/item>/ise";

    preg_match_all($pattern$rss$matches);
       
    $parti_rss = array();

    ... 
    alla fine, facendo un echo del testo ottengo alcuni caratteri modificati in questo modo:

    ’
    Ã


    ho provato ad usare html_entity_decode ma non ha sortito alcun effetto...

    qual'è la funzione corretta da usare per convertire questi caratteri in un formato ehm come dire "leggibile"

    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    E' un problema di codifica.
    Devi mandare in output i caratteri con la codifica corretta.
    Se per ipotesi php (o l'html) dice che ritorna caratero iso-8859-1 non puoi ritornare caratteri utf-8.
    Con la funzione mb_detect_encoding su di una stringa dovresti individuare la sua codifica.
    Ponendo il caso che sia UTF-8 e che tu devi andare in output con iso-8859-1 devi convertirla con mb_convert_encoding($string,'ISO-8859-1','UTF-8')
    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  3. #3
    o molto più semplice invii un header Content-Type specificando l'encoding sul charset corretto

  4. #4
    dipende dal charset che usa sul resto del documento però..
    se sul resto del documento usa ISO-8859-* che di solito è default per php ed imposta utf8 (sempre che l'rss sia così codificato) saranno visualizzati correttamente i caratteri dell'rss ma saranno visualizzati male gli altri

    Secondo me è più conveniente individuare la codifica dell'rss e codificarla nel formato che usa nel resto del documento, o se questo non fosse sufficiente per coprire il set di caratteri dell'rss dovrebbe fare l'inverso

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  5. #5
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    aiaiaiaia

    con

    mb_convert_encoding($parti_rss['description'],'ISO-8859-1','UTF-8');

    ottengo:

    Fatal error: Call to undefined function: mb_convert_encoding()

    un'alternativa esiste?
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  6. #6
    Le funzioni multibyte fanno parte dell'installazione base di php. Basta che (se sei in locale) togli i due punti di fronte alla riga sul php.ini che è già pronta per caricare il modulo mbstring.
    Se è il tuo host che non fornisce mbstring è proprio il caso che ti lamenti.



    edit: esiste un alternativa? Boh.. forse ci sarà ma devi cercarla in rete e non sarà sicuramente altrettanto veloce.
    Esistono due funzioni che fanno parte del modulo XML di php utf8_encode()/utf8_decode() ma non sono allo stesso livello.
    Convertono rispettivamente da iso-8859-1 a utf8 e viceversa, però essendo iso-8859-1 un charset piuttosto limitato ti darebbe problemi con alcuni caratteri che si usano anche in italiano come il simbolo dell'euro senza considerare che non è detto che l'rss sia utf8...
    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  7. #7

    Codifica "windows-1252"

    Prova la codifica "windows-1252". Potrebbe andare.
    ambè!

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.