Tegnsettet bestemmer oversettelsen mellom datastrøm og tegnsekvens. Hvilket tegnsett som er standard avhenger av operativsystem og er som følger: Windows (norsk utgave): windows-1252 Unix: UTF-8 Unix eldre enn ca. 2006 (på norsk): ISO-8859-1, eventuelt ISO-8859-15 for å få med blant annet Euro-tegnet Forskjellig bruk av tegnsett er et stort problem, ettersom tegnsett, i likhet med all annen metadata, ikke lagres i en tekstfil. Selv i systemer hvor tegnsettet skal oppgis (for eksempel internett), er dette problemet utbredt, fordi tegnsettet som angis ofte bare er satt i en standardinnstilling, slik at riktigheten av denne informasjonen er vilkårlig. For eksempel vil en LAMP-server angi feil tegnsett som standard; standardinnstillingen for Apache er iso-8859-1, mens systemet for øvrig lagrer tekst og filnavn som UTF-8. Fordi den nevnte standardinnstinningen ikke har rot i virkeligheten, har det blitt vanlig å spesifisere tegnsettet i selve innholdet av HTML-filene, noe som overstyrer tegnsettet i HTTP-hodet. Noen programmer (for eksempel Mozilla Firefox) er i stand til å oppdage og rette visse tegnsettfeil slik at det ikke syns for brukeren, men løsningen er ikke triviell; all foregående tekst må omtolkes i et alternativt tegnsett når det dukker opp en ugyldig tegnkode.