|
![]() | Datové typy | Domény | ![]() |
K popisu typu znakový řetězec a CLOB lze připojit informaci o jazyce a kódování. Ta může mít různé funkce:
Jazyk a kódování se specifikuje takto:
jazyk_a_kódování ::= COLLATE jméno_jazyka [ IGNORE_CASE ]
Není-li jazyk_a_kódování u řetězce uvedeno (nebo jméno_jazyka je ANSI), pak se předpokládá, že řetězec obsahuje pouze ASCII znaky. Ty se třídí podle latinské abecedy. Obsahuje-li řetězec jiné než ASCII znaky, třídí se podle jejich kódu.
Pro národní abecedy může být podstatným údajem i kódová stránka. Windows aplikace standardně používají pro 8 bitová kódování stránky Windows cp1250 (Východní Evropa) a Windows cp1252 (Západní Evropa). Pokud klient zapisuje znaky (řetězce nebo texty) v jiném kódování (může nastat např. při vkládání z browseru, který má nastaven CHARSET=ISO-8859-2), musí server být schopen s těmito daty pracovat (porovnávat, měnit velikost a třídit). Toho se docílí zvolením kódové stránky toho sloupce tabulky, do něhož se zapisuje.
Pro plné využití ISO kódování (včetně národního třídění) musí být Windows server spuštěn na Windows od verze 2000.
Je-li uvedeno IGNORE_CASE, pak se při třídění nerozlišuje mezi velkými a malými písmeny. To vyžaduje správné určení jazyka a kódové stránky, aby bylo možno určit, které znaky jsou písmeny a které tvoří dvojice velké-malé písmeno.
Množina dostupných jazyků se může s verzemi 602SQL rozšiřovat. Pro kompatibilitu se staršími verzemi lze jako jméno_jazyka používat slova CSSTRING a CSISTRING.
Jméno jazyka | Jazyk | Kódová stránka | Script fontů Windows | Kód charsetu |
ANSI | Angličtina | ASCII | - libovolný - | 0 |
CSString, CSIString | Čeština/Slovenština | windows cp1250 | středoevropský | 1 |
CZ, SK, CZ_WIN, SK_WIN | Čeština/Slovenština | windows cp1250 | středoevropský | 1 |
CZ_ISO, SK_ISO | Čeština/Slovenština | iso-8859-2 | středoevropský | 129 |
PL, PL_WIN | Polština | windows cp1250 | středoevropský | 2 |
PL_ISO | Polština | iso-8859-2 | středoevropský | 130 |
FR, FR_WIN | Francouzština | windows cp1252 | západoevropský | 3 |
FR_ISO | Francouzština | iso-8859-1 | západoevropský | 131 |
DE, DE_WIN | Němčina | windows cp1252 | západoevropský | 4 |
DE_ISO | Němčina | iso-8859-1 | západoevropský | 132 |
IT, IT_WIN | Italština | windows cp1252 | západoevropský | 5 |
IT_ISO | Italština | iso-8859-1 | západoevropský | 133 |
Při úpravách tabulky pomocí návrháře tabulek se pro české (slovenské) kódování používají stále konstanty CSSTRING a CSISTRING.
Zde diskutované kódování řetězců v tabulkách může být odlišné od systémového jazyka databáze (tabulka kódů je však shodná).
![]() | Datové typy | Domény | ![]() |