18 mar 2008

Problem z importem pliku w kodowaniu UTF8 do bazy w ISO, mysql

Problem można obejść w następujacy sposób:
create database baza_nowa;

otrzymuje ona domyślne kodowanie ISO (latin2)

zmiana kodowania bazy na UTF8
alter database baza_nowa_utf8 CHARACTER SET utf8 COLLATE utf8_polish_ci;

teraz trzeba utworzyć nową tabelę do której mają być importowane dane
create table dane ...

następnie należy wczytać do bazy z kodowaniem UTF8 plik zdanymi, np.
LOAD DATA INFILE '/dane.csv' INTO TABLE dane FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n';

kończąc należy przekopiować dane z tabeli z bazy o kodowaniu UTF8 do bliźniaczej tabeli w bazie ISO ( należy w PMA ustawić się na bazie docelowej)
INSERT INTO dane SELECT * FROM baza_nowa_utf8.dane;

po wykonaniu tej operacji dane w bazie docelowej powinny być zakodowane w ISO (latin2)