Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19

Discussione: Conversione encoding

  1. #11
    Scusami, se $export come dici è già in utf-8, per quale motivo gli fai un utf8_encode? :master:

  2. #12
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da skidx
    Scusami, se $export come dici è già in utf-8, per quale motivo gli fai un utf8_encode? :master:
    Hai ragione, non l'ho precisato, e stavo appunto per fare un EDIT al msg precedente!
    Perchè se uso un fwrite($fp,$export); succede che:

    a. il file viene visto dal sistema (Linux e Win) come ISO;
    b. ma i caratteri sono sempre cannati completamente.

    EDIT: trattasi di PHP5.2

    [.:: JaguarXF ::.]
    __________________

  3. #13
    Originariamente inviato da mark2x
    Hai ragione, non l'ho precisato, e stavo appunto per fare un EDIT al msg precedente!
    Perchè se uso un fwrite($fp,$export); succede che:

    a. il file viene visto dal sistema (Linux e Win) come ISO;
    b. ma i caratteri sono sempre cannati completamente.
    non capisco cosa intendi con "visto dal sistema". Cosa c'entra il sistema?
    Prendilo così come è dal db (quindi utf-8) e scrivilo in modalità binaria.
    Poi riaprilo nel browser e forza l'encoding di visualizzazione a utf-8 (View -> Character Encoding in Firefox).
    Se a questo punto lo vedi correttamente, il file è stato scritto correttamente.

  4. #14
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Visto dal sistema intendo che Notepad o Gedit aprono il file col giusto encoding.

    Ho fatto esattamente come mi hai suggerito, ed, aperto su browser, viene visualizzato correttamente.
    Però, su editor di testo no, nemmeno "Salvandolo come" UTF-8 su Notepad o su Gedit [siamo qui nel caso in cui lo vedono come ISO].

    Ti viene in mente nulla?

    [.:: JaguarXF ::.]
    __________________

  5. #15
    Originariamente inviato da mark2x
    Visto dal sistema intendo che Notepad o Gedit aprono il file col giusto encoding.

    Ho fatto esattamente come mi hai suggerito, ed, aperto su browser, viene visualizzato correttamente.
    Però, su editor di testo no, nemmeno "Salvandolo come" UTF-8 su Notepad o su Gedit [siamo qui nel caso in cui lo vedono come ISO].

    Ti viene in mente nulla?
    Se il browser lo vede correttamente, allora sei ok.
    Se fai "salva come" in un editor stai ricambiando il file, e chiaramente provando a riconvertire un utf-8 in utf-8 (visto che l'editor pensa che sia un iso-8859-1 di default, sbagliandosi) succedono porcherie.

    In pratica: in un file qualsiasi non c'è scritto da nessuna parte il charset che usa (negli html c'è il meta tag apposta), quindi un editor sa una sega, quando lo apre. Userà il suo charset di default. Nel browser puoi imporgli il charset da usare, quindi in questo caso è il modo più sicuro per verificare (a meno di non voler usare un hex editor, vabbè ).

  6. #16
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da skidx
    Se il browser lo vede correttamente, allora sei ok.
    Il problema è che mi interessa proprio il file, perchè, a partire da un "db Web", il file serve per un mondo non-Web...

    In pratica: in un file qualsiasi non c'è scritto da nessuna parte il charset che usa (negli html c'è il meta tag apposta), quindi un editor sa una sega, quando lo apre. Userà il suo charset di default.
    Questo è un argomento minato.
    Non sono sicuro che un editor di testo si comporti esattamente come dici tu: perchè quando salvo come utf8_encode allora mi si apre di default in UTF e quando salvo senza utf8_encode mi si apre in ISO?

    Inoltre ho provato centinaia di altre volte e, dato un file in UTF e salvato in ISO, poi viene riaperto, su tutt'altro sistema, in ISO. E viceversa...

    Infine, Notepad aggiunge caratteri non stampabili ad inizio file per marcarlo come UTF.

    Insomma, in sintesi: su browser si vede ok, su editor di testo no, ma non perchè l'editor di suo decide che è ISO: ci sarà qualcosa che lo inganna!
    Non è che manchi qualche carattere non stampabile [mi riferisco soprattutto al Notepad appunto, giusto per avere un punto di inizio]?

    [.:: JaguarXF ::.]
    __________________

  7. #17
    Se ti riferisci al BOM, utf-8 non ne ha alcun bisogno, e anzi può creare problemi, infatti gli editor decenti possono salvare in "UTF-8 without BOM".
    Ma usare un editor un po' più evoluto di notepad?
    Un editor che ti permetta di scegliere il charset di visualizzazione senza salvare il file.

    Scusa, se il browser lo visualizza correttamente, mi spieghi come fa a essere sbagliato, quel file?

  8. #18
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da skidx
    Scusa, se il browser lo visualizza correttamente, mi spieghi come fa a essere sbagliato, quel file?
    Non ti dò torto, infatti non sto capendoci un beneamato.

    La domanda però si è spostata: perchè NESSUN editor di testo mi apre di default quel file come UTF-8 e solo dopo averlo impostato manualmente esso si visualizza correttamente?
    Perchè altri file si aprono in UFT-8 ovunque?

    Probabilmente qui sta il quid.

    Cmq ti ringrazio per avermi indirizzato sulla retta via

    [.:: JaguarXF ::.]
    __________________

  9. #19
    Originariamente inviato da mark2x
    Non ti dò torto, infatti non sto capendoci un beneamato.

    La domanda però si è spostata: perchè NESSUN editor di testo mi apre di default quel file come UTF-8 e solo dopo averlo impostato manualmente esso si visualizza correttamente?
    Perchè altri file si aprono in UFT-8 ovunque?
    Forse sono file con il BOM all'inizio, boh.

    A me capita anche il contrario, cioè file utf-8 che l'editor mi riconosce subito mentre nel browser devo forzare a utf-8.
    Questo perché ogni programma ha un suo algoritmo per provare a capire che charset viene usato, e in genere si basano sull'analisi dei primi TOT caratteri e ovviamente sono probabilistici, quindi a seconda del contenuto del file e del programma usato puoi avere risultati differenti.

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.