Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Konverzija veelike mysql baze iz windows-1250 u utf-8

[es] :: PHP :: Konverzija veelike mysql baze iz windows-1250 u utf-8

Strane: 1 2

[ Pregleda: 8087 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Not now, John!

Član broj: 231
Poruke: 1318
87.250.104.*



+4 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-811.08.2006. u 18:47 - pre 215 meseci
OK. Mislim da sam riješio.

Pošto je mysql-dump konvertovao u utf8 treba da ga vratiš u prvobitno stanje:
Code:
$ iconv -f utf8 -t cp1252 sf_dump.sql > tmp.sql

pa zatim da pravilno uradiš konverziju u utf8:
Code:
$ iconv -f cp1250 -t utf8 tmp.sql > konacni.sql

Nakon toga ono "latin1" prepravi u utf-8 i trebalo bi da radi.
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

Sauron
Nemanja Pantoš
Administrator informacionih sistema u
Pokrajinskom sekretarijatu za
informacije Izvršnog Veća AP..
Futog

Član broj: 780
Poruke: 417
*.vojvodina.sr.gov.yu.

Jabber: sauron@elitesecurity.org
Sajt: www.tolkien.rs


+1 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-811.08.2006. u 19:01 - pre 215 meseci
iconv -f utf8 -t cp1252 sf_dump.sql > tmp.sql
iconv: illegal input sequence at position 15625255
:(

A ovo je iz phpmyadmina:
MySQL - 4.1.19-standard
* Protocol version: 10
* Server: Localhost via UNIX socket
* MySQL charset: UTF-8 Unicode (utf8)

Skoro je vršen upgrade na 4.1 verziju. Verovatno je tada namešten default utf-8.
10 SIN
20 GOTO HELL
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-811.08.2006. u 19:08 - pre 215 meseci
Pogledao sam priloženu arhivu i fajl sf_dump.sql je već u utf8.

Šta se desi kad njega importuješ u bazu i promeniš php skripte da daju browseru utf8 charset? Šta se desi ako isto to urediš ali prethodno staviš da je tip tabela utf8?

Nemam sad 4.1 instalaciju da probam da importujem ovo nekako, ali videću za vikend ako bude vremena da probam i ako ti do tada ne rešiš ovo, naravno.
 
Odgovor na temu

Sauron
Nemanja Pantoš
Administrator informacionih sistema u
Pokrajinskom sekretarijatu za
informacije Izvršnog Veća AP..
Futog

Član broj: 780
Poruke: 417
*.vojvodina.sr.gov.yu.

Jabber: sauron@elitesecurity.org
Sajt: www.tolkien.rs


+1 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-811.08.2006. u 19:11 - pre 215 meseci
Citat:
Gojko Vujovic: Pogledao sam priloženu arhivu i fajl sf_dump.sql je već u utf8.

Šta se desi kad njega importuješ u bazu i promeniš php skripte da daju browseru utf8 charset? Šta se desi ako isto to urediš ali prethodno staviš da je tip tabela utf8?

Nemam sad 4.1 instalaciju da probam da importujem ovo nekako, ali videću za vikend ako bude vremena da probam i ako ti do tada ne rešiš ovo, naravno.

Probao sam i to.
Dobijem isto što sam i imao. Naša slova na 1250, smeće na utf-8. To me i zbunjuje.
Probaću malo da se poigram sada sa mysqldump --default-character-set=charset_name
Možda ubodem jednom dobar charset.
10 SIN
20 GOTO HELL
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
87.250.104.*



+4 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-811.08.2006. u 19:20 - pre 215 meseci
Citat:
Sauron: iconv -f utf8 -t cp1252 sf_dump.sql > tmp.sql
iconv: illegal input sequence at position 15625255
:(

Hm... na fajlu koji si priložio je kod mene sve prošlo bez problema.
Pogledaj fajl koji prilažem da vidiš da su sva slova čitljiva. Fajl je u utf-8.

Više mi ništa ne pada na pamet.
Možda da probaš da ono "latin1" u SQL fajlu da promijeniš u "cp1250", pa da takav fajl bez konverzije probaš importovati u bazu...
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
Prikačeni fajlovi
 
Odgovor na temu

Sauron
Nemanja Pantoš
Administrator informacionih sistema u
Pokrajinskom sekretarijatu za
informacije Izvršnog Veća AP..
Futog

Član broj: 780
Poruke: 417
*.vojvodina.sr.gov.yu.

Jabber: sauron@elitesecurity.org
Sajt: www.tolkien.rs


+1 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-811.08.2006. u 19:24 - pre 215 meseci
Citat:
Not now, John!: Hm... na fajlu koji si priložio je kod mene sve prošlo bez problema.
Pogledaj fajl koji prilažem da vidiš da su sva slova čitljiva. Fajl je u utf-8.

To je samo deo fajla. Ceo dump je 50mb. Možda greške nastaju kasnije?
10 SIN
20 GOTO HELL
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
87.250.104.*



+4 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-811.08.2006. u 20:04 - pre 215 meseci
Citat:
Sauron: To je samo deo fajla. Ceo dump je 50mb. Možda greške nastaju kasnije?

Da, sigurno, ali ne shvatam zašto... Kao da je baza bila u više kodnih rasporeda, npr. jedna tabela je u latin2, druga u cp1250, treća ... što me čudi.
Probaj da dumpuješ samo definicije tabela, bez podataka, pa vidi da li su sve u latin1 kodnom rasporedu.
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

Sauron
Nemanja Pantoš
Administrator informacionih sistema u
Pokrajinskom sekretarijatu za
informacije Izvršnog Veća AP..
Futog

Član broj: 780
Poruke: 417
*.neobee.net.

Jabber: sauron@elitesecurity.org
Sajt: www.tolkien.rs


+1 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-812.08.2006. u 00:06 - pre 215 meseci
Problem je sigurno u bazi.
mysqldump npantos_sf >sf_dump.sql --default-character-set=latin1 (pošto je od verzije 4.1 default utf8)
iconv -f cp1250 -t utf8 sf_dump.sql >konacni.sql
I sve je lepo bilo kada sam odradio samo par tabela.
Ali kada pokušam sve od jednom... to je već problem...
Nazad na izučavanje :)
10 SIN
20 GOTO HELL
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
87.250.104.*



+4 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-812.08.2006. u 00:22 - pre 215 meseci
Citat:
Sauron: mysqldump npantos_sf >sf_dump.sql --default-character-set=latin1

Zar ne bi trebalo:
Code:
$ mysqldump --default-character-set=latin1 npantos_sf > sf_dump.sql


E... čudi me da ti je to toliko muke zadalo. U principu bi to trebalo da bude jednostavan problem...

Da li možeš zaključiti koji karakter pravi problem, nakon što iconv ispiše poruku o grešci?
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

Sauron
Nemanja Pantoš
Administrator informacionih sistema u
Pokrajinskom sekretarijatu za
informacije Izvršnog Veća AP..
Futog

Član broj: 780
Poruke: 417
*.neobee.net.

Jabber: sauron@elitesecurity.org
Sajt: www.tolkien.rs


+1 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-812.08.2006. u 02:01 - pre 215 meseci
Bez muke nema nauke :)
Pucanje pri konverziji mi je zadavala tabela shoutbox. Ko zna kakvih je tamo sve karaktera bilo...
Ispraznio sam tu tabelu i sve je prošlo.
Baza je lepo konvertovana, i kada iz browsera pogledam dump, vide se sva naša slova na utf-8 enkodingu.
Importujem dump nazad u bazu, ali slova nestaju.
Probao sam i sa
Code:
mysql --default-character-set=utf8 --user=xxx --password=xxx imebaze <konacni.sql

ali opet ništa.
Pogledao sam tekstu u samoj bazi pomoću phpmyadmina, i tamo su slova ok.
Ali svuda drugde se slova ne vide.
100% je podešen utf-8 enkoding na forumu.



[Ovu poruku je menjao Sauron dana 12.08.2006. u 04:06 GMT+1]
10 SIN
20 GOTO HELL
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
87.250.104.*



+4 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-812.08.2006. u 10:09 - pre 215 meseci
Da li si u definicijama tabela isptavio ono "CHARSET=latin1" u "CHARSET=utf8".
Ako jesi onda mislim da je jedino objašnjenje da phpBB očekuje podatke u latin1 kodnom rasporedu, pa obavlja konverziju u hodu. Novija verzija phpBB? Postoje li neka podešavanja u phpBB konfiguracionom fajlu koja se tiču kodnog rasporeda?
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
87.250.104.*



+4 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-812.08.2006. u 11:38 - pre 215 meseci
Malo sam se poigrao phpBB-om.
Ako je verzija MySQL ranije bila 3.x, a sad je 4.x onda u fajlu config.php izmijeni liniju:
Code:
$dbms = 'mysql4';

da bude
Code:
$dbms = 'mysql4';

Sva ostala podešavanja zavise od kodnog rasporeda prevoda.
Ako si imao više prevoda u različitim kodnim rasporedima, onda je i tekst u tabelama bio u raznim kodnim rasporedima, pa je vjerovatno to pravilo problem sa konverzijom.
Onaj kodni raspored koji je naveden u prevodu je kodni raspored foruma i trebalo bi da je za sve prevode (jezike) isti kodni raspored (utf8) da bi svi vidjeli isti tekst, nezavisno od izabranog jezika. Kod mene je engleski jezik bio iso-8859-1 (latin1), pa sam najprije pomoću iconv prebacio taj fajl u utf8 i izmijenio liniju:
Code:
$lang['ENCODING'] = 'iso-8859-1';

u
Code:
$lang['ENCODING'] = 'utf-8';

Nakon Refresha, forum je sad bio u utf-8 kodnom rasporedu i mogao sam da unosim Unicode znakove i da ih vidim normalno.
Sad bi trebalo da možeš importovati taj konvertovani fajl u bazu i da možeš vidjeti sve znakove bez problema, ako je utf-8 kodni raspored foruma.
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

Sauron
Nemanja Pantoš
Administrator informacionih sistema u
Pokrajinskom sekretarijatu za
informacije Izvršnog Veća AP..
Futog

Član broj: 780
Poruke: 417
*.dialup.neobee.net.

Jabber: sauron@elitesecurity.org
Sajt: www.tolkien.rs


+1 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-812.08.2006. u 13:50 - pre 215 meseci
KONAČNO
Evo da sumiram kako sam namestio:
Ispraznio sam phpbb_shoutbox jer je tamo bilo karaktera koji su pravili probleme pri iconv konverziji.
Code:
mysqldump npantos_sf >sf_dump.sql --default-character-set=latin1

Code:
iconv -f cp1250 -t utf8 sf_dump.sql >konacni.sql

Editovao sam konacni.sql, zamenio latin1 za utf8

Sada sam imao problem da se na forumu i dalje ne vidi dobro utf-8, iako je dobro podešen.
editovao my.cnf
dodao:
Code:
[mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci 
[client]
default-character-set=utf8

Restartovao mysql, i tek onda je proradilo.

Proba je uspela, i sad mogu na miru sve baze konvertovati
Hvala puno Not now Johnu i Gojku na pomoću
10 SIN
20 GOTO HELL
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
87.250.104.*



+4 Profil

icon Re: Konverzija veelike mysql baze iz windows-1250 u utf-812.08.2006. u 13:52 - pre 215 meseci
Citat:
Sauron: KONAČNO

O, hvala bogu. Počeo sam da se brinem.
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

[es] :: PHP :: Konverzija veelike mysql baze iz windows-1250 u utf-8

Strane: 1 2

[ Pregleda: 8087 | Odgovora: 33 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.