tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Nefunkční kódování mssql db při použití verze 1.3

před 9 lety

blacksun
Člen | 181

Ahoj,

po vyzkoušení verze 1.3 mi přestalo fungovat správně kódování češtiny u MSSQL databáze. Nic jiného jsem v aplikaci neměnil. Používám driver mssql, mssql2005 se ani nepřipojí.

Díval jsem se, že v driveru zmizelo nastavení charset a dbcharset patrně pro překódování dat. Je to řešené nějak magicky nebo dá se to nějak obejít nebo musím upravit aplikaci tak, aby na data aplikovala převod kódování pomocí iconv?

Kódování db měnit nemůžu, přistupuje do ní i cizí program pod windows.

Případně je na toto pro verzi 1.3 nějaký best practise? V příkladech ani v dokumentaci či quickstartu jsem spráci s kódováním nenašel.

Díky za pomoc!

M.

před 9 lety

knoxa
Člen | 18

Hoj,

já jsem něco podobnýho řešil včera. Používám teda mssql2005 pro připojení k MSSQL 2008 a do connect stringu je potřeba přidat ještě parametr CharacterSet.

dibi sice předává parametr pro kódování, ale pouze jako charset a ten to nevezme. Řešení je docela jednoduchý, stačí přidat driveru do metody connect alias:

DibiConnection::alias($config, 'options|CharacterSet', 'charset');

Vyzkoušeno na dibi 1.3-dev revize af6352d z 10.11.2010.

před 9 lety

David Grudl
Nette Core | 6806

Alias jsem do driveru přidal.