Pagina 2 di 7 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 61
  1. #11
    Originariamente inviato da IroN@xiD
    Per fare questo comodamente puoi usare i buffer e prima della chiusura dello script passare tutto quello che c'è sul buffer ad utf8_encode() che traduce tutto in utf8.
    questa è veri gud....

    me ne sono sempre fregato della codifica, quindi i browser (o il server...ancora devo capire questa negoziazione) impostavano in automatico ISO-8859-1. Ciò mi è sempre andato bene, perchè avevo la libertà di scrivere il codice così come lo vedo. Ultimamente mi è presa la voglia di omologarmi al mondo, quindi devo usare UTF-8, ma ciò mi ha posto non pochi dubbi:

    - mi tocca aggiornare il mio alfabeto mentale, quindi se un giorno cerco "città" dovrò impostare la ricerca come "citt&agr...;" ?
    - e con i database come faccio? salveranno tutte quelle codifiche delle entità carattere?

    questa storia del buffer potrebbe essere la soluzione: dichiaro di usare utf-8 invece scrivo come prima in iso8859-1 e poi converto tutto

    ma alcuni esempi pratici mi dimotra che su qualcosa non c'ho capito un tubo:
    - salvo un file "prova.htm" con la codifica utf8 e con la scritta "città" (già questo non capisco, pensavo non lo facesse), poi la apro con il browser e il bimbo si comporta bene, infatti sente che è utf-8, ma se apro la sorgente vedo scritto "città" e non "citt&agr..."
    :master:

    me sa che non c'ho capito nulla
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  2. #12
    cioè in pratica non capisco: se UTF-8 è la super codifica mondiale, perchè non tratta le accentate? per far spazio ad un po' di simboli strambi cinesi ci han tolto le accentate?

    inoltre le entità carattere, se ho letto bene non c'entrano niente con UTF-8, perchè sono interpretazioni che fa il browser richiamanto la tabella ASCII ...giusto?




    e poi...come mai questo sito non usa UTF-8? che siete indietro anche voi

    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  3. #13
    Originariamente inviato da Jarno
    cioè in pratica non capisco: se UTF-8 è la super codifica mondiale, perchè non tratta le accentate? per far spazio ad un po' di simboli strambi cinesi ci han tolto le accentate?
    Veramente ha tutte le accentate che vuoi.

    Le uniche entità che servono su un xml utf-8 sono quelle per sostituire & < > e " dentro gli attributi, fine, il resto lo puoi scrivere direttamente nel documento senza bisogno di alcuna entità.

  4. #14
    Tutto quello che vedi come &blabla; non è utf8.
    E' un metodo alternativo per rappresentare i caratteri chiamato "html entities".
    L'utf8 è una codifica, quindi non ha bisogno di simboli strani per indicare caratteri.
    I db gestiscono senza problemi utf8.
    Da una pagina in utf8 riceverai dai form dati già codificati in utf8, quindi purtroppo la soluzione del buffer non è appropriata (ho verificato di persona) perche quando vai in output codifichi in utf8 dati che sono già utf8 e ne esce un casino.
    utf8_encode infatti si aspetta come argomento una stringa in ISO-8859-1.
    Se tu gli passi qualcosa già in utf8 non se ne cura e lo ricodifica con risultati imprevisti.

    Quindi ti consiglio di impostare utf8 sulla pagina con gli appositi tag html, salvare la pagina stessa in utf-8 (molti editor consentono di farlo) e non dovrai curarti del resto poichè quello che ricevi dai form sarà già utf8 e quando lo prelevi dal db sarà ancora utf8.
    La pagina l'hai codificata tu con l'editor in utf8 quindi fila tutto liscio.


    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. #15
    grandi

    procedo allora con la mia ri-codifica delle mie pagine
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  6. #16
    Comunque l'utf8 non ti serve se hai pagina statiche mono-lingua, in quel caso basta usare la codifica adatta a quella lingua, per l'italiano corrente ISO-8859-15 che include anche il simbolo dell'euro
    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. #17
    sì, uso almeno 2 lingue
    è vero che l'utenza è al 99% italiana, ma in questo periodo mi è presa una voglia di standardizzarmi al mondo

    io adesso ho messo tutto si UTF-8 con gli appositi tag come xhtml 1.1 comanda

    da quello che mi hai scritto te sembra che sia solo un problema di "allineamento" tra codifiche, del documento, del server e del browser....effettivamente funziona!!!! ma dai....se bastava così poco, sia a farlo che a spiegarlo non capisco tutti quei rigirii di teorie che leggo in qua ed in là....bah grazie mille

    durante la conversione sono solo inciampato in una cosa: davo per scontato che i file fossero stati salvati in UTF-8 invece non lo erano, quindi non vedevo le accentate, ma poi c'ho risalvato sopra con SALVA CON NOME selezionando UTF-8 e così ha funzionato :ignore: ....certo che come cavolo si fa a sepere come è stato salvato un file?
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  8. #18
    Ehm, questo "standardizzarmi" non mi è chiaro
    ISO cos'è se non uno standard?
    A parte questo, ho capito cosa vuoi dire, ma non sapevo che l'UTF-8 andasse di moda eheh
    Comunque è pur sempre utilissimo.
    Un sito realizzato per lavorare in UTF-8 può rappresentare qualsiasi carattere, anche delle lingue più assurde, quindi visto che male non fa, tanto vale usarlo

    Poi non c'è nessuna confusione, l'importante è che mandi in output sempre e solo nella codifica che hai impostato, e non in altre.
    Se sai che hai dei dati in altre codifiche devi prima portarli in utf-8, con utf8_encode() se è ISO-8859-1, altrimenti con mb_string per tutte le altre.
    Poi ricordo sempre che non c'è modo sicuro per determinare una codifica. Quindi bisogna stare attenti.
    Perchè normalmente si è indotti a credere che passando come argomento alle funzioni di codifica una stringa nella stessa codifica che si vuole ottenere, tutto vada bene. Invece non è così.
    Proprio perchè non c'è modo sicuro di determinare una codifica le funzioni tipo mb_String, utf8_encoding e similari si limitano a riconvertire senza verifiche e quindi creano confusione.

    Per esempio, prova a fare questo:

    Codice PHP:
    $str "stringa utf8 perchè il file è salvato in utf8";
    $str2 utf8_encode($str);
    $str3 utf8_encode($str2);

    echo 
    $str;
    echo 
    $str2;
    echo 
    $str3
    Ci si aspetta che $str (essendo già utf8) non subisca alcuna modifica. Invece non è così.
    Vedrai che la prima stringa esce corretta, la seconda invece viene modificata e la terza viene ulteriormente modificata (solo per i caratteri fuori da ISO-8859-1 che sono codificati pari pari all'utf8).
    Questo fa confondere normalmente perchè si pensa che $str essendo già utf8 non sarà modificata da utf8_encode mentre invece sarà modificata senza alcuna pietà. E così sarà anche per $str2 data in pasto alla seconda utf8_encode.

    Preciso inoltre che esistono algoritmi in grado di azzardare un ipotesi sulla codifica usata in un file controllando le combinazioni di byte valide nelle varie codifiche. Questa funzione per php è offerta da mb_string.
    Tuttavia non è una strada sicura. Alcune combinazioni di byte potrebbero comunque risultare valide ma rappresentare caratteri diversi.
    Oppure, per fare un esempio con utf8 e ISO-8859-1 alcune codifiche potrebbero essere incluse in altre.
    Per esempio tutti i caratteri non accentati presenti in ISO-8859-1 hanno la stessa combinazione di byte di UTF-8.
    Quindi dando in pasto un file ISO-8859-1 che non contiene lettere accentate agli algoritmi "indovini" ci si troverebbe di fronte ad una sequenza di byte valida tanto per UTF-8 che per ISO-8859-1.
    Magari l'algoritmo preferenzialmente ed in modo del tutto arbitrario (su mb_string si possono indicare delle gerarchie) preferisce una codifica all'altra e dice che si tratta di ISO-8859-1.
    A questo punto creiamo il nostro script per convertire i file che ci vengono forniti in modo automatico da ISO-8859-1 a UTF-8.
    Dopo un po' cominciano ad inviare file con lettere accentate. Cosa succede? Magari è UTF-8 e si finisce convertire in UTF-8 dei byte già in ordine, credendo che si tratti di ISO-8859-1 ed esce un casino
    Va beh.. questo per dire che gli algoritmi che tentano di indovinare la codifica non sono affidabili

    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.

  9. #19
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940

    Re: Problema Charset UTF-8 o ISO-8859-1??

    Originariamente inviato da Alejandro
    il default charset che avevo sul dedicato è UTF-8
    Che vuol dire "charset che avevo" ?

    Giusto per precisare, stai intendendo il charset di default che Apache - o altro webserver - invia al client. Ciò che significa??

    Significa che, fregandosene altamente di ciò che è scritto nelle tue pagine HTML, Apache invia lo header HTTP opportuno al browser, dicendogli che deve trattare la codifica dei caratteri come - ad esempio - iso o utf.

    Il casino è quando, come a te succede, hai pagine di un tipo e pagine di un altro.

    Scusa... allora perchè non fai decidere ad Apache che charset adottare, senza dargliene uno di default??
    In questo modo non devi modificare nulla sugli script...


    C'è solo un settaggio che - stranamente - sovrasta quello di Apache, e si trova nel php.ini. Quindi se hai dei problemi inizia col dare un occhio a tale file.
    [/QUOTE]

    [.:: JaguarXF ::.]
    __________________

  10. #20

    ..........

    Ciao e scusate l'intrusione.
    @skidx
    Le uniche entità che servono su un xml utf-8 sono quelle per sostituire & < > e " dentro gli attributi, fine, il resto lo puoi scrivere direttamente nel documento senza bisogno di alcuna entità
    Scusa ma se scrivi in un file xml

    La capra è blu
    che fantasia

    se non usi
    htmlentities($str, ENT_COMPAT, 'UTF-8');
    o
    <![CDATA[La capra è blu ]]
    ottieni un errore di codifica.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.