Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Scelta del Charset?

  1. #1

    Scelta del Charset?

    Salve,

    ho un sito web con pagine html e php che utilizzano javascript e css.
    Quando effettuo un inclusione php molte lettere e simboli tra cui à ò è ù diventano dei quadrati. Mi hanno detto di cambiare il charset. Avete qualche soluzione o qualche articolo da suggerirmi? essendo la mia prima scelta del charset non so proprio da dove iniziare.

    Grazie!

    ps. ho messo in html e non in php perchè è un problema di base (il charset lo si dovrebbe imparare agli inizi )

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    devi deciderlo tu.

    charset sta per "set dei caratteri"

    a seconda della lingua della pagina decidi il charset:
    http://www.w3schools.com/TAGS/att_a_charset.asp
    http://www.w3schools.com/TAGS/ref_charactersets.asp

    solitamente usiamo:
    ISO-8859-1

  3. #3
    Utente bannato
    Registrato dal
    Sep 2007
    Messaggi
    2,777
    Puoi anche utilizzare il classico utf-8 e inserire i caratteri accentati con la corrisponde3nte entity

  4. #4
    Utente bannato
    Registrato dal
    Sep 2007
    Messaggi
    2,777
    Puoi anche utilizzare il classico utf-8 e inserire i caratteri accentati con la corrisponde3nte entity

  5. #5
    Utente bannato
    Registrato dal
    Sep 2007
    Messaggi
    2,777
    Scusate non so perchè me li ha duplicati

  6. #6
    Il "problema" è a monte. Per tutti i siti sarebbe ormai consigliato l'UTF-8 (SENZA BOM!). Ma quando utilizzi questo set di caratteri, devi assicurarti che ANCHE l'editor di testo che usi per scrivere il codice delle pagine salvi i file in UTF-8. Alcuni editor (vedi il classico Notepad di Windows) hanno come codifica predefinita Latin1 (ISO-8859-1), oppure non salvano proprio in UTF-8. Se nelle tue pagine HTML (anche generate con PHP) inserisci il meta tag che specifica come character set UTF-8 ma il file è stato salvato in Latin1, il server te lo invia rispettando la reale codifica, ossia Latin1, e quindi tutti i caratteri "fuori" dalla tabella Latin1 sono rappresentati da quadrati o punti di domanda (a seconda del browser).

    UTF-8 è nato proprio per evitare di dover codificare in entità milioni di caratteri e per questo, quando si decide di usarlo, converrebbe appunto creare i file con un editor che riesce a salvare in UTF-8 (SENZA BOM - Byte Order Mark - che è una cosa che i browser non digeriscono bene).
    Gli unici caratteri che vanno SEMPRE codificati in entità, indipendentemente dal charset che usi, sono: &, < e > (anche " e ' se fanno parte del valore di un attributo HTML). Tutti gli altri caratteri, in UTF-8 puoi scriverli direttamente nel file così come appaiono a video: se il file è salvato correttamente in UTF-8 e dichiara come set di caratteri UTF-8 nel meta tag, non hai più problemi.

    Tieni solo presenti alcune cose:

    1. Se usi un database per estrarre i contenuti delle pagine, anche il database deve essere creato in UTF-8 (MySQL per es. usa per default Latin1 come charset e latin1_swedish_ci come collation, anche se finalmente quello che mettono a disposizione i fornitori di hosting è ormai impostato con UTF-8).

    2. Linguaggi come PHP lavorano sulle stringhe usando ancora il Latin1. Funzioni PHP come htmlspecialchars() hanno bisogno di ricevere come terzo argomento "UTF-8" per lavorare correttamente sulle stringhe. Esistono inoltre le funzioni utf8_encode() e utf8_decode() che sono utili per convertire la codifica di una stringa da un charset UTF-8 a un Latin1 e viceversa.

    3. TUTTI i file del sito devono essere salvati in UTF-8 per evitare problemi (per es. se hai dei file PHP che vengono inclusi e che stampano a video dei caratteri particolari come lettere accentate).

    UTF-8 ti permette di liberarti del problema della codifica e della localizzazione delle stringhe. Se nella tua pagina HTML (salvata in UTF-8) incolli caratteri cinesi, questi appariranno correttamente una volta che la pagina sarà visualizzata nel browser.


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