safer-internet

Svetska nedelja svemira i Međunarodna noć posmatranja Meseca u Nišu

Povodom Svetske nedelje svemira i Međunarodne noći posmatranja Meseca od subote, 5. oktobra do četvrtka 10. oktobra Astronomsko društvo “Alfa” i Departman za fiziku Prirodno-matematičkog fakulteta u Nišu organizuju seriju ...
apolo11-pre-poletanja

Apolo 11: 50 godina kasnije

Na današnji dan, pre tačno 50 godina, tj. 16. jula 1969. godine u 9:32h po lokalnom vremenu (13:32 po Griniču), iz Kennedy Space Center-a lansirana je raketa nosač Saturn V. Na vrhu te ...
sunbathing

Sunčanje i/ili zdravlje? Izaberite sami!

Sunce, taj žuti disk koji svakoga dana putuje po plavom nebeskom svodu, je samo jedna od nekoliko milijardi zvezda rasutih svuda po praznom prostoru svemira. Ono je jedna sasvim obična ...
davinci

Leonardo da Vinči: Umetnik. Naučnik. Pronalazač.

Pišu: Jovana Savić i Jovana Stanimirović“Onaj ko isključivo ceni praksu bez teorije je poput moreplovca koji se ukrca na brod bez kormila i kompasa, ne znajući kuda se plovi.” - ...
crna-rupa-prva

Prva fotografija crne rupe!

Već nekoliko decenija, a može se reći i vekova, crne rupe privlače ogromnu pažnju kako naučnika tako i javnosti, kroz popularne tekstove, različite ideje i SF romane i (visokobudžetne) filmove.Do ...
dositej-obradovic

Dositej Obradović – srpski prosvetitelj i reformator

„Knjige, braćo moja, knjige, a ne zvona i praporce!“Dositej ObradovićNa današnji dan 28. marta 1811. godine u Beogradu je umro najveći srpski prosvetitelj i reformator – Dositej Obradović. Sahranjen je ...

MySQL i nasa slova (II deo)

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…

2 Comments
  1. avatar 25. 05. 2008.
  2. avatar 27. 05. 2008.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: