Nas obrovsky SCADA system mi pri nacitani buildovacieho logu hlasil chyby. Podarilo sa mi zistit, ze chyby boli sposobene simultannym zapisom z viacerych vystupov do jedneho logu a prepinanim vstupu niekde v strede viacznakovych unicode znakov. Logy sa vyriesili, aby si neskakali navzajom do zapisu, ale najst to bola fakt fuska :).
PS: nebyt nemecky hovoriacich kolegov ktori napriek nariadeniu pouzivali v kode nemecke znaky, ani by ten problem nebol viditelny, takto Python hlasil neplatne unicode znaky
12. 9. 2025, 08:18 editováno autorem komentáře
Řešil jsem kdysi dávno podobný problém ve webovém serveru Jetty. Pokud přišel vícebajtový znak po síti rozdělený do dvou paketů (hranice paketů byla uvnitř vícebajtového znaku), tak se znak dál do aplikace poslal dvakrát.
Na problém se přišlo na AbcLinuxu.cz, protože se občas stalo, že se při editaci komentáře, zápisku nebo článku zdvojil znak s diakritikou. Na tyhle problémy se holt muselo přijít ve střední Evropě, protože na západě se vícebajtové znaky v UTF-8 používaly tak málo, že byl problém to vůbec zaznamenat, na východ se zase asi používala jiná kódování, než UTF-8. Že se to vašim kolegům podařilo najít v němčině pravděpodobně na jediném znaku ß je docela kumšt :-)
Ono sa im to ani tak nepodarilo najst, ako skor sposobit :). Hladat pricinu som potom musel ja. A nemci tych specialnych znakov maju viac - Ä, ä, Ö, ö, Ü, ü. To ze sa musia takto podpisat je blbost, ale ze este aj komentare pisu nemecky, ked firemna politika je vsetko po anglicky, to uz nepochopim.
Ako clovek so sice kratkym priezviskom, no zaroven pozostavajucim vylucne zo specialnych znakov, v zahranici nemam lahke vysvetlovanie, ako tu zmat znakov vyslovit. Ale ze mi este aj Hornbach na Slovensku takto znemozni registraciu som necakal https://imgur.com/a/TGnxlW3.
Bůhví proč jsem si myslel, že ty znaky s přehláskou se v UTF-8 kódují jednobajtově. Ty registrační formuláře, které mne přesvědčují, že se jmenuju jinak, než se jmenuje, mne vždy pobaví. Chápu, že za tím může být nějaký starý backend, který by to nezvládl – ale kdyby aspoň ta chybová hláška byla srozumitelná a třeba prostě normálně přiznala, že mám napsat jméno bez diakritiky. Tohle ale nejsou problémy Unicode, úplně stejné problémy by byly, kdyby ten web používal jakékoli jiné kódování mimo ASCII.
Obdobně například některé organizace neumí v emailu TLD jiné než se dvěma nebo třemi písmeny. Pokud máte primární email řekněme na doméně .cloud, tak se dozvíte, že nejde o platnou emailovou adresu. Jedním z provinilců je Česká pošta.
Vždy se to snažím hlásit, aby to opravili. Protože když jim to nikdo neřekne, tak to zůstane stejné ještě desítky let. U problémů s diakritikou ve jménu doporučuji dělat totéž. V USA by asi nemělo smysl řešit, že třeba příjmení "Říčný" psáno s diakritikou nefunguje, ale v našich zemích to fungovat prostě musí.