Dobry den, na projektu pouzivame databazi DB2 a O-R mapovani Hibernate.
Databaze je kvuli lokalizaci nastavena na kodovani UTF-8. Narazili jsme na problem, ktery se tyka delky textovych sloupcu. Kdyz v DB2 pouzijete u databaze v UTF-8 typ VARCHAR(20), neznamena to, ze do sloupce zapisete nejvyse 20 libovolnych znaku, nybrz 20 ASCII-znaku. Pokud tedy nekdo do sloupce zkusi zapsat text s hacky a carkami, ktery bude mit celkem 20 znaku, uz se mu to nepodari, protoze cast delky zabraly vice-bajtove znaky. Tento problem znemoznuje rozumnou validaci vstupu. Nelze se totiz ridit pouhou delkou textu, ale je treba brat v uvahu delku po konverzi do ciloveho kodovani (UTF-8). Z pohledu uzivatele je to katastrofa. Jako mozne reseni se nabizi pouziti alternativnich datovych typu DB2: GRAPHIC, VARGRAPHIC, ktere se jiz zrejme chovaji "normalne". Pro zajemce strucny popis zde: http://www.ispirer.com/doc/sqlways38/Output/SQLWays-1-090.html Neni mi moc jasne, jak spravne nastavit Hibernate, aby tyto typy pouzivalo. Take bych rad vedel, zda s pouzitim VARGRAPHIC nemate nekdo zkusenosti. Jestli se nekde neskryva jeste nejaky dalsi zadrhel. Diky mp.
