Autor Zpráva
Limonade
Profil
Potřeboval bych poradit jaký je rozdíl u kódování znaků utf-8 x cp1250 a co je lepší použít pro web v češtině s využitím MySQL?

Moderátor Petr ZZZ: Titulek „UTF-8 x CP1250“ je jakýsi mdlý. Příště zkus prosím vymyslet lepší.
panther
Profil
Limonade:
pro cestinu to je jedno, v UTF-8 vsak budes moci ukladat i jine znaky, ktere nejsou soucasti cestiny.
Trejpa
Profil
Limonade:
Kódování Windows-1250 obsahuje jen znaky anglické a znaky typické pro středoevropské jazyky. Kódování UTF-8 obsahuje všechny světově užívané znaky z Unicode. Na stejném českém textu se rozdíl částečně projeví na velikosti dat, UTF-8 kóduje neanglické znaky pomocí dvou (a více) Bytů, Windows-1250 všechny ze své omezené znakové zásoby pomocí jednoho.

U obyčejné HTML stránky na tom až tak nezáleží, ale jakmile spouštíš větší projekt třeba s tou databází, tak bych ti doporučil UTF-8. Už jen proto, že třeba v případě obchodu s registrací můžeš mít zákazníka z jiné země, jehož jméno obsahuje pro Střední Evropu netypické znaky (å ī ь ά ế).
Limonade
Profil
Díky za vyčerpávající odpověď a jen se ještě zeptám kde si všude dát pozor na správné kódování? Mělo by tedy být v headeru stránky, uložen v něm by měl být každý soubor součástí webu + by v něm měla být DB a tabulky v MySQL... Ještě někde si dát pozor na kódování?
jenikkozak
Profil
Limonade:
Pokud používáš PHP, tak také u funkcí, které pracují s řetězci (třeba strlen a další), které se nahrazují funkcemi s prefixem mb_ (třeba mb_strlen).
Limonade
Profil
Používám, a tzn., že strlen je pro cp1250 a mb_strlen pro UTF-8??
Nox
Profil
strlen je pro jednobytové znakové sady, mb_strlen (mb_*) jsou pro sady, kde může mít znak více bytů
zjednodušeně ano
Keeehi
Profil
Těch funkcí pro multibytová kódování je více.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: