Portál AbcLinuxu, 12. května 2025 14:31

Dotaz: export databaze a spravne kodovani

3.12.2008 15:35 Mirekh
export databaze a spravne kodovani
Přečteno: 632×
Odpovědět | Admin

Prosim o pomoc,

na jednom nasem stroji (debian) bezi php aplikace komunikajici s mysql db. 

Php aplikace stejne jako data ukladana a ctena z DB je v kodovani 8859-2. ALe systemove kodovani mysql-serveru je v utf-8  (aspon to rika parametr character-system-set  prikazu show variables; )

Aplikace funguje v pohode...

Jenze kdyz chci aplikaci rozjet na jinem stroji (resp. chci overit zalohu db, ze funguje) tak diakrtika nefunguje - aspon pro ř,š,ě a mozna dalsi.

Zkousel jsem ruzne postupy:

1.Zaloha pomoci phpmyadmin: export db probehl v poradku - vytvoreny soubor byl v kodovani utf-8 (nevim ,kde se da nastavit typ kodovani pri exportu) . Zkousel jsem tento Utf-8 soubor prevest na 8859-2 a naimportovat - bezuspechu.

2. zalohoval jsem pomoci mysqldump a paramteru --default-character-set:

mysqldump -u uzivatel -p -B databaze --default-character-set=latin2 > dump.sql   -soubor byl v kodovani 8859-2, ale po naimportovani se opet hacky, carky nezobrazuji dobre.

Muzete mi poradit ?

 

 

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.12.2008 17:32 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin

Je potřeba nastavit ještě kódování při importu, je tu na to FAQ.

Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
4.12.2008 06:29 Mirekh
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani

Tento mini faq jsem take cetl, ale asi tomu moc nerozmunim....

Muzete mi upresnit jak presne mam provadet import konkretne pro muj pripad ?

 

4.12.2008 08:57 razor | skóre: 33
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani

no a jak to importuješ ?

okbob avatar 4.12.2008 20:34 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani
Odpovědět | | Sbalit | Link | Blokovat | Admin

jeste zalezi jak data ukladate do MySQL. Jestli v latin2 (a MySQL to bez problemu vezme, byt je nastavena na utf), tak pri dumpu nesmis nastavit zadnou konverzi - pak mas dump v cistem latin2. Jinak dojde ke zmrseni diakritiky - db si mysli, ze ma data v utfku, ty jsou ale v latin2, takze provadi jakousi divokou konverzi.

Nevim jestli to je tvuj pripad - podivej se na dump a jestli je citelny tak pak problem je v importu, coz muzes nastavit vlozenim prikazu SET NAMES 'latin2'; na zacatek souboru

6.12.2008 16:39 Mirekh
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani

V mem pripade je jiz vygenerovany dump necitelny......Takze , kdyz exportuji db pres phpmyadmin (server ma nastaveno kodovani na utf8, data jsou ukladana v latin2), dump je typu utf8 - necitelny.

Pokud si dump zkusim prekonvertit  na latin, take to nepomuze.

Nakonec jsem to vyresil tak, ze jsem zkusil neimportovat dump do db pres prikazovou radku, ale pres phpmyadmina. Pro import jsem nastavil utf8, a je to v pohode....

Mam v tom docela hokej...

Treba tady http://www.abclinuxu.cz/poradna/databaze/show/239057  nekdo resil podobny problem, a vyresil to jinak  -  mne ale zase tento postup nezafungoval. Je zde proste mnoho veci, ktere je treba vzit v uvahu a mam teda v tom dost zmatek

 

 

okbob avatar 8.12.2008 11:02 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani

Není to složité - stačí si uvědomit, že jsou tři druhy kódování - jedno v kterém jsou data posílána na klienta, případně čtena z klienta, pak další ve kterém si server drží data, a konečně třetí (ve kterém jsou skutečně data). V ideálním případě je druhé a třetí kódování shodné.  Pro MySQL je bohužel docela typické, že server skutečné kódování se liší od konfigurace serveru - viz. typicky latin1 X latin2, nebo latin2 X UTF. Pokud server sputí konverzi dat z latin1 do UTF a data jsou reálně v latin2, tak se nemůžete divit, že výsledek nedopadne - naštěstí pro Vás některé chyby lze opakováním odstranit.

10.12.2008 19:58 tnt
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani

skusil by som nastavit kodovanie db latin2_czech_cs

a potom dat vytvorit table, tie budu mat kodovanie prebrate ako je db teda latin2_czech_cs

nastavit v scripte hned po pripojeni db "SET NAMES 'latin2'"

vlozit nejake data

 

odzalohovat cez phpMyadmin - subor bude utf8 (nic s nim nerobit)

zmazat vsetky table

skusit spat naimportovat: znakova sada suboru: utf8

 

mne to takto fungovalo, ale kodovanie db muselo byt latin2_czech_cs ak bolo laitn2_bin neslo to

 

10.12.2008 20:21 tnt
Rozbalit Rozbalit vše Re: export databaze a spravne kodovani

mozno to pojde aj cez ten mysqldump ale skusil by som nedavat tam

ten --default-charecter-set=

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.