konverse-DB-cstocs

Honza Pazdziora adelton na fi.muni.cz
Čtvrtek Srpen 15 19:04:13 CEST 2002


On Tue, Aug 06, 2002 at 10:19:13PM +0000, Pavel 'Goldenfish' Kysilka wrote:
> 
> konverse pomoci cstocs cp1250 ==> il2
> a potom il2 ==> cp1250 vytvari nestejne soubory.
> 
> -rw-rw-r--    1 goldenfi goldenfi  5150653 srp  7 02:23 db_1250_new.sql
> -rw-rw-r--    1 goldenfi goldenfi  5150573 srp  7 02:13 db_1250.sql
> 
> cestina je spravne v prekonvertovanem souboru.

Tohle je samozrejme v poradku. Prislusny znak nemusi byt v cilove
znakove sade vubec dostupny, a pak se nahrazuje --fillstring'em, coz
je defaultne prazdny retezec. Dale, pokud nereknete --onebyone, tak se
muze jeden znak na vstupu prekodovat na vice znaku na vystupu,
transliteraci. Napriklad znak "tri tecky" ve Windows-1250 se prekoduji
na tri znaky tecka.

On Thu, Aug 08, 2002 at 02:49:11AM +0000, Pavel 'Goldenfish' Kysilka wrote:
> 
> log ze zpetneho dumpu :
> 
> ERROR 2005 at line 91: Unknown MySQL Server Host 'min.',0,'Slovakian,' (2)

[...]

> vzorek dat s vyskytem chyby : 
> 
> INSERT INTO tabulka VALUES (80,'X X X X','X 8','','Xň','301 31','X X X','00420/19/722 62 02','00420/19/712 45 94','X na X.X','X. X XřáXá','','','X X X 2 (X X X X X)',' XáX X, X X','X X X X X X X X X X X X X X X X. X X X X X, X X X X X X X X X X X X X X X X X X X X, X X X X X' X X X X X X X X. X X X X X X X X. X X X X X X X X X (X, X, X, X.)','X','6/2001',0,'','80-7238-121-0','96',0,'X, X, X','');
> 

Je tento radek presne radek 91? Protoze na tomto radku se zadny host
nespecifikuje. Nebo nam jenom ukazujete priklad dat, ale ne radek na
kterem to pada? Neverim, ze to je radek 91, protoze to by na nem musel
byt podretezec 'XXX.',0,'XXXXXXXXX,', a to neni.

Ono se samozrejme mohlo stat, ze se Windowsi pravy apostrof (takovy
ten znak nad 127) prekodoval na apostrof bez backslashe, cili pak
nesedi ta data. Ale z te hlasky nahore tipuji, ze se chyba stala jeste
nekde driv / jinde.

> php funkci addslashes() samozrejme pouzivam.

Tohle nema s dumpem a loadovanim nic spolecneho.

> jake ma kdo zkusenosti s prekodovavanim databasovych souboru co se tyce 
> znakovych sad.

Ja. Bohate.

Zacal bych tim, ze bych vydumpoval jednu tabulku, nejakou jednoduchou,
a zkusil naimportovat po konverzi zpet. Na to nemusite delat extra
databazi, staci to naimportovat pod jinym uzivatelem, bych rekl.
A pokud to spadne, tak potrebujem presne ten radek, kde to spadlo.

Pokud zakladni veci (obecne dump ven a import zpet funguje), tak je
potreba se zamerit na tu konkretni chybu na konkretnich datech.

Druha moznost je pouzit UDF udf_charsets, kde (pokud se nemylim) je
i funkce na konverze mezi 1250 a il2, a udelat konverzi primo v MySQL.
Budete ale muset pustit update na vsechny sloupce, kde se muzou
vyskytovat znaky s hackama a carkama.

A tak.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
      ... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------


Další informace o konferenci Linux