Moderní tvorba webových aplikací

O webu

Určení kódování BOMem

Co je to BOM a jak nastavuje kódování pro správné zobrazování českých znaků.

3 minuty

Pro správné nastavení češtiny v HTML souborech jde mimo jiné použít tzv. BOM (Byte order mark). Jedná se o sekvenci neviditelných znaků na začátku souboru, která se obvykle používá k označení souboru v kódování UTF.

Jak přidat/odebrat BOM

Sublime Text

V editoru Sublime Text je taková volba v nabídce File → Save with Encoding → UTF-8 with BOM.

Uložení s BOMem v Sublime Text

PSPad

V PSPadu jde nastavit přidávání BOMu v Nastavení → Nastavení programu… → Program 2 → Ident. byty v kódování UTF-8.

Uložení s BOMem v PSPadu

Problémy BOMu v PHP

Používat BOM je problematické při programování v PHP, kdy může jeho užití způsobovat chybovou hlášku:

Warning: Cannot add header information - headers already sent by

Případně při použití session:

Warning: session_start(): Cannot send session cookie - headers already sent by

Nebo při nastavení cookie:

Warning: Cannot modify header information - headers already sent by

Nastavují-li se v PHP nějaké HTTP hlavičky (což nastane i při využívání cookie), je tak nutné učinit před vypsáním obsahu. Jelikož se sekvence BOMu nachází před začátkem PHP a BOM je považován za obsah, nejde podmínku hlaviček před obsahem v takovém případě splnit.

Symbolický zápis:

neviditelný BOM
<?php
// PHP kód nastavující hlavičky

Z tohoto důvodu je nejspíš lepší BOM nepoužívat a kódování určit v HTML meta značkou charset:

<meta charset="utf-8">

Nebo kódování a typ obsahu nastavit HTTP hlavičkou přímo v PHP:

<?php
header("Content-type: text/html; charset=utf-8");

Související články

Převod písmen na VELKÁ a malá

Převedení textu na velká nebo malá písmena.

12 minut

Instalace Apache, PHP a MySQL za 30 vteřin

Jak si ve Windows spustit vlastní Apache, PHP a MySQL na svém PC za půl minuty.

7 minut

Generování QR kódu

Co je to QR kód a jak ho okamžitě vytvořit pomocí jednoduchého online generátoru.

18 minut

Převody souborů a dat přímo v prohlížeči

Jak převádět obrázky, textové formáty v prohlížeči pomocí JavaScriptu – bez odesílání dat na server.

8 minut

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025