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

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

Prázdný řádek na konci souboru

Proč by textové soubory měly končit prázdným řádkem.

3 minuty

Jak používat git rebase

Proč a jak používat git rebase pro přehlednou historii v Gitu.

5 minut

Více Git větví vedle sebe

Jak spustit více větví jednoho repositáře vedle sebe.

3 minuty

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