Tekencodering
De regels om tekens in bytes om te zetten en weer terug — en de reden dat er "Ã¥" staat waar "å" hoort.
Een codering is een afbeelding tussen de tekens van een tekenset en bytereeksen. ASCII kwam met zeven bits tot 128 tekens. ISO-8859-1 (Latin-1) breidde dat uit tot 256, genoeg voor West-Europese talen en weinig meer, wat een wildgroei aan onderling onverenigbare codepagina's opleverde. Unicode loste de tekenset op; UTF-8 loste de codering op.
Het cruciale inzicht is dat tekst in het geheugen nooit "gewoon tekst" is — het zijn altijd bytes plus een aanname over de codering. Is die aanname fout, dan krijg je mojibake. Daarom moet de codering altijd expliciet worden vastgelegd: in de HTTP-header, in <meta charset>, in de databaseverbinding.