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

konverzija cp1251 to utf8

[es] :: MySQL :: konverzija cp1251 to utf8

[ Pregleda: 2838 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
80.77.157.*

Sajt: right-sock.net


+1 Profil

icon konverzija cp1251 to utf817.03.2009. u 20:58 - pre 183 meseci
Mysql baza popunjena sa cp1251 enkoding zbog toga sto se popunjuje u delphi.

Podatke trebaju da idu na WEB, utf8 enkoding.

Kako da uradim konverziju?
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: konverzija cp1251 to utf817.03.2009. u 22:33 - pre 183 meseci
koja je verzija mysql-a?
koji je tip podataka u tabeli?

ako je MySQL Server 5.0 ili 5.1 i ako si pravilno napravio to iz starta onda je vrlo jednostavno ... konektuj se sa web-a koristeci utf8 i mysql ce sam da ti izkonvertuje podatke u utf8 ...

da pojasnim, ako ti je polje u tabeli napravljeno da koristi enkoding koji ume da snimi cp1251 (utf8 ili cp1251) i ti si pravilno unosio podatke (dakle pri konekciji na bazu si pravilno setovao client encoding na cp1251, sve sto sada treba da uradis je da se na bazu konektujes sa utf8 enkodingom (za php to znaci da posle konekcije uradis mysql_query('set names utf8');) i mysql ce sam odraditi konverziju podataka te tebi dati podatke formatirane kao utf8...

to je cela poenta podrske za karakter setove ... postoje 2 razlicite "informacije"

1. format polja (enkoding koji se koristi da se polje sacuva)
2. encoding klijenta (u kom formatu klijent prima/salje podatke)

dakle, ako je polje npr latin1, a klijent salje utf8 karakter Ć (2 bajta), kako je u latin1 nemoguce snimiti doticni karakter, mysql ce snimiti ? (Standardni znak za "ne valja karakter"). Ako je latin2 tip polja a klijent salje utf8 isti taj karakter, mysql ce ga snimiti kako treba (1 bajt) posto je taj karakter deo latin2 karakter set-a... (valjda je .. nisam siguran al recimo da jeste)... ako sada mi sa cp1520 citamo podatke, mysql ce taj karakter poslati klijentu u tom karakter setu (1 bajt), isto kao i da sa citas sa utf8, poslace taj karakter kako treba (ovaj put 2 bajta) ....

dakle, bitno je
1. da kazes mysql-u koji encoding koristi tvoj klijent da bi mysql znao sta mu saljes. To se u php-u radi sa "set names" a u vecini ostalih konektora imas poseban property koji treba da setujes (za java konektor na primer u uri ide charset=, za .net ima property etc etc)
2. da polje bude tipa koji moze da sacuva karakter koji zelis sacuvati (ne mozes da cuvas cirilicu u latin1 polju)

nadam se da ti ovo pomaze ... ako si pak lose krenuo, pa ti je polje latin1 a podatke si slao bez postavljenog karakter seta pa je mysql eventualno koristio to kao binarno polje, postoji mogucnost da se podaci u tabeli "poprave"
 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
91.150.127.*

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: konverzija cp1251 to utf818.03.2009. u 07:22 - pre 183 meseci
Heh, mysqlperformanceblog.com juče baš postavio članak o konverziji karakter setova.

Inače, kad smo mi kod nas radili konverziju cele baze u UTF8, mi smo to radili sa dump/change/restore. Puno posla.

Nego ne shvatam kakve veze imaju Delphi i cp1251. Nije valjda da pokušavaš da mi kažeš da u Delphiju ne može da se setuje encoding?
"Common sense is not so common." - Voltaire
 
Odgovor na temu

cveticmilan
System administrator
Beograd

Član broj: 105312
Poruke: 161
*.beocity.net.

Sajt: www.nb.rs


+8 Profil

icon Re: konverzija cp1251 to utf818.03.2009. u 09:04 - pre 183 meseci
A kojom komandom ili skriptom bi promenio kompletan encoding iz cp1251 u UTF-8 u svim tabelama/poljima na celoj bazi ? Nisam bas najbolji sa MYSQL-om
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: konverzija cp1251 to utf818.03.2009. u 20:40 - pre 183 meseci
Citat:
cveticmilan: A kojom komandom ili skriptom bi promenio kompletan encoding iz cp1251 u UTF-8 u svim tabelama/poljima na celoj bazi ? Nisam bas najbolji sa MYSQL-om


ne postoji tako nesto sto ce "sva" polja iz cp1251 prebaciti u utf8 .. mora polje po polje

ako je na primer polje u enkodingu cp1251 a hoces da mu promenis encoding u utf8 koristi alter table .. problem je, moras polje po polje, promeni mu encoding i mysql ce sam prekonvertovati sadrzaj
 
Odgovor na temu

cveticmilan
System administrator
Beograd

Član broj: 105312
Poruke: 161
93.86.38.*

Sajt: www.nb.rs


+8 Profil

icon Re: konverzija cp1251 to utf818.03.2009. u 23:30 - pre 183 meseci
O.K , toliko znam i ja i do sad sam i radio to rucno. Konkretno se radi o instalaciji joomla preko cpanel-a na sezamovim serverima kad ne ides manual nego auto on sve baci u latin1_swedish_ci a meni treba utf-8 i onda idem peske. Uzas , ipak hvala na odgovoru
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: konverzija cp1251 to utf819.03.2009. u 01:53 - pre 183 meseci
slican problem na mnogim provajderima sa tim "auto" / "one click" / "easy app" i ostalim sistemima tog tipa ... ako vec pravis to "nekoliko puta" napisi skriptu koje setuje za potrebna polja utf8 i onda kad pravis "novu" joomla instalaciju - a ti samo pustis skriptu (meni bas danas palo napamet da to odradim za wordpress posto sam 7mi ili 8mi put menjao latin1 u utf8 ...
 
Odgovor na temu

cveticmilan
System administrator
Beograd

Član broj: 105312
Poruke: 161
93.86.38.*

Sajt: www.nb.rs


+8 Profil

icon Re: konverzija cp1251 to utf819.03.2009. u 08:55 - pre 183 meseci
pa druze ako me nisi razumeo za tu scriptu sam te i pitao .... Kao bi ona trebala da izgleda i sta da radi ? Ako te mrzi daj mi samo pseudo
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.xdsl.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: konverzija cp1251 to utf819.03.2009. u 09:27 - pre 183 meseci
Citat:
cveticmilan: pa druze ako me nisi razumeo za tu scriptu sam te i pitao .... Kao bi ona trebala da izgleda i sta da radi ? Ako te mrzi daj mi samo pseudo


http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

nismo se razumeli .. kada sam rekao skriptu mislio sam na:

Code:

ALTER TABLE `wp_comments` CHANGE `comment_content` `comment_content` text CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
ALTER TABLE `wp_links` CHANGE `link_name` `link_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
ALTER TABLE `wp_posts` CHANGE `post_content` `post_content` longtext CHARACTER SET utf8 COLLATE utf8_slovenian_ci;
...
...
...


dakle, kako sam u zadnjih 5 dana instalirao 6 wordpresova, na svakom sam isao rucno i menjao "bitna" polaj u utf8 ... skripta bi samo zamenila to sto sam kucao rukom u "copy paste" .. nije nista "inteligentno"
 
Odgovor na temu

[es] :: MySQL :: konverzija cp1251 to utf8

[ Pregleda: 2838 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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