Home > IT > MySQL i nasa slova (II deo)

MySQL i nasa slova (II deo)

May 1st, 2008

Juče sam se žalio na problem koji je nastao prilikom importovanja MySQL baze na novi server – sva naša slova, a naročito par ćiriličnih postova, pretvorili su se u neke čudne i potpuno nerazumljive znake. Posle mnogo experimentisanja i “druženja” sa Googlom uspeo sam da rešim problem. Rešenje možda nije baš najpraktićnije, ali radi :)

Zbog haosa koji je postojao u bazi (razlicit charset i collation za pojedinacne tabele) odlucio sam da sve prebacim u UTF-8.Prvo sam exportovao celu bazu:

$ mysqldump --user=korisnik -p --default-character-set=latin1 -c --insert-ignore --skip-set-charset baza > baza.sql

tako sam dobio tekstualni fajl koji sadrzi sve podatke iz baze. Ideja je bila da promenim encoding karaktera u ovom fajlu. To moze da se uradi jednostavno sa:

$ iconv -f ISO-8859-1 -t UTF-8 baza.sql > baza_utf8.sql

Posle ovoga sam obrisao staru bazu sa servera, i kreirao novu:

$ mysql --user=korisnik -p --execute="DROP DATABASE ime; CREATE DATABASE ime CHARACTER SET utf8 COLLATE utf8_unicode_ci;"

Sada je trebalo napuniti bazu i vratiti podatke:

$ mysql --user=korisnik -p --default-character-set=utf8 ime < ime_utf8.sql

Ovaj postupak sam probao dva puta – prvi pokušaj je bio potpuno bezuspešan, tako da sam u drugom editovao sql fajl i izbacio iz dela za kreiranje tabela sva podesavanja za charset i collation. Ovaj drugi pokušaj dao je dobar rezultat. Situacija je bila mnogo bolja, ali još je bilo daleko od uspešnog – bilo je još mnogo tekstova sa čudnim znacima.

U nedostatku boljih ideja odlučio sam da primenim “silu”. Ponovo sam, na isti način, exportovao bazu i dobijeni SQL fajl otvorio u običnom text editoru. Krenuo redom kroz tekst i kad god bih negde naišao na neki čudan zank (tj. par znakova, svako naše slovo bilo je zamenjeno sa dva znaka, a neki specijalni znaci sa 3-4 druga) iz teksta bih utvrdio koje je to slovo i posle funkcijom Repalce zamenio taj zank odgovarajućim. Isti postupak ponovio sam za sva slova, a posle toga i za specijalne znake (navodnike, crticu, neke simbole u formulama) koje sam zamenio html tagovima.

Kada je to bilo gotovo, obrisao sam bayu sa servera, kreirao novu i importovao ovaj izmenjeni fajl. BINGO – sve je na svom mestu! Ostalo je još par ćiriličnih postova u kojima se baš ništa ne vidi i grčka slova u nekim formulama, ali to drugom prilikom :)

ps. Nadam se da svi tekstove lepo vide, ako neko primeti neki problem neka javi…

Categories: IT
avatar

Autor:

Urednik i vlasnik sajta. Dugogodišnji borac za razotkrivanje astrolagarija i ostalih kvazinauka na Internetu, i šire. Završio fiziku na Prirodno matematičkom fakultetu u Nišu, a najveći deo svog slobodnog vremena posvećuje popularizaciji i približavanju nauke mladima, astronomiji i slobodnom softveru. (O meni / CV in English, PDF)

Najnoviji tekstovi

Časopis "Mladi fizičar"

Svet nauke 11.02.2012
mladi-fizicar Od maja prošle godine, zahvaljujući Slavoljubu Mitiću, Darku Simiću i Aktivu nastavnika fizike osnovnih škola Nišavskog okruga, ljubitelji fizi

Povezivanje naučnih niti - Intervju sa Milanom Ćirkovićem

Svet nauke 07.02.2012
mmc Poslednji broj magazina Frenzy Spark donosi zanimljiv intervju sa dr Milanom Ćirkovićem. U ovom intervjuju Milan Ćirković govori o evoluciji ideja

Najnoviji standard za merenje temperature

Svet nauke 04.02.2012
snow +18°C Na Havajima uzimaju drugi pokrivač. +10°C U zgradama u Helsinkiju isključuju grejanje. +2°C Italijanski automobili ne mogu da upale.

Najčitaniji tekstovi

Najnoviji standard za merenje temperature

Svet nauke 04.02.2012
snow +18°C Na Havajima uzimaju drugi pokrivač. +10°C U zgradama u Helsinkiju isključuju grejanje. +2°C Italijanski automobili ne mogu da upale.

Yamb - igrica za gubljenje vremena

Milan Milošević 18.06.2007
Volite da igrate Yamb, a dosadili su vam papirici - probajte ovo. Ova verzija Yamba ima 8 kolona, odvojite malo vise slobodnog vremena :) Ovaj prog

Uskrs – kako se odredjuje datum

Milan Milošević 27.04.2008
uskrs-02 Svake godine me bar neko pita kako se odredjuje datum Uskrsa, zasto je datum pravoslavnog i katolickog uskrsa nekada isti a nekada ne itd itd. Mnogo p

Mišljenja iznešena u komentarima su privatno mišljenje autora komentara
i ne odražavaju stavove urednika sajta Svet nauke.

  1. avatar
    Ivan Petrović
    May 25th, 2008 at 20:33 | #1
  2. May 27th, 2008 at 01:28 | #2

    Hvala, bice korisno sledeci put :)

  1. No trackbacks yet.
Subscribe to comments feed

Komentari koji sadrže psovke, uvredljive, vulgarne, preteće, rasističke ili šovinističke poruke neće biti objavljeni. Prilikom pisanja komentara pridržavajte se pravopisnih pravila. Urednik sajta ima pravo da ne odobri komentare za koje smatra da ne doprinose normalnoj komunikaciji između čitalaca ovog sajta. Mišljenja iznešena u komentarima su privatno mišljenje autora komentara i ne odražavaju stavove urednika sajta Svet nauke.

Za komentare, predloge i pitanja možete da koristite formular za kontakt ili Facebook stranu sajta.