Visualizzazione dei risultati da 1 a 7 su 7

Discussione: caratteri accentati

  1. #1
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828

    caratteri accentati

    Con uno script in perl stò prendendo il contenuto della pagina e la
    salvo dentro un db. quando però c'è un testò con i caratteri à è
    ì ù ò mi salva ad esempio à per à. come posso evitare tutto ciò?


    la "pagina" è una pagina web casuale che prendo così:
    my $response = $browser->get($url, @ns_headers);
    my $html = $response->content;

    mentre il db è mysql.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non e` corretto quanto affermi.

    Il DB non "filtra" i caratteri: quello che inserisci te lo estrae.

    Il problema e` che i caratteri ASCII standard (7 bit) sono praticamente universali (vei ad esempio http://www.w3schools.com/tags/ref_ascii.asp ), mentre di estensioni a 8 o 16 bit ce ne sono varie (ad esempio http://www.w3schools.com/tags/ref_urlencode.asp ).

    Quindi il problema si trasforma in: come posso conoscere in quale codifica e` stato scritto il carattere per poterlo leggere correttamente?
    Vedi l'attributo charset di vari tag (X)HTML.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    infatti c'è probabilmente un problema di codifica differente tra il client che interroga il database e il server stesso.

    Prova ad inserire all'inizio dello script:

    #!/usr/bin/perl

    use utf8;
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  4. #4
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    Ho scoperto una cosa stranissima. Se provo a prendere il testo di una pagina web su un server mi prende correttamente le è ì ù ò mentre su un altro server se metto la stessa pagina html non mi riconosce i caratteri accentati.


    come è possibile?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Abbiamo gia` risposto sia Shishii che io: il problema sta nella diversa interpretazione del charset (=set di caratteri) da parte dei browser e dei vari sistemi operativi (e come sono configurati).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it L'avatar di Gabbro
    Registrato dal
    Nov 2000
    Messaggi
    828
    Originariamente inviato da Mich_
    Abbiamo gia` risposto sia Shishii che io: il problema sta nella diversa interpretazione del charset (=set di caratteri) da parte dei browser e dei vari sistemi operativi (e come sono configurati).
    Si ma come posso risolvere il problema? ho provato ad inserire

    #!/usr/bin/perl

    use utf8;

    ma non risolvo il problema purtroppo...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non e` il Perl che deve capire charset (o non solo il Perl), ma il programma che usi per visualizzare i dati.

    Il Perl e` come il database: e` neutro rispetto ai dati che passano. Lo vedi solo se usi un print che visualizza sullo stdout.

    Se visualizzi l'uscita dei dati in una pag. Web, devi usare il corretto charset nei meta tag della pagina.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2024 vBulletin Solutions, Inc. All rights reserved.