DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Postojeca baza Latin1 u UTF8 (http://www.devprotalk.com/showthread.php?t=8464)

mega023 19. 02. 2010. 20:57

Postojeca baza Latin1 u UTF8
 
Imam postojecu bazu domaceg sajta sa poprilicnim brojem tabela i podataka u tabelama i sve to sacuvano je kao Latin1. Nisu svi tekstovi pisani već ima i dosta tekstova koji su preuzeti sa raznih mesta po sistemu copy/paste. Klijent zeli da prebaci komplet ceo sajt u UTF8.

Nasao sam gomilu clanaka o tome i svi se svode na isto:
- export u sql
- promeni CHARSET=latin1 u CHARSET=utf8
- import u sql

Uradio sam jednu tabelu tako, Na sajtu izmenjen meta conent type u utf-8, svi php fajlovi sacuvani kao utf-8, u php-u, odmah ispod konekcije na bazu dodato

Kôd:

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");

Ovo radi ok u slučajevima kada je slovo đ tako i sačuvano a ne kao &# 273; (bez razmaka, naravno) ili slovo č koje je sačuvano u bazi kao &# 269...

Da li postoji neki način da se &# 273; vrati u đ a da nije php koji trči kroz sve tabele i polja...

Takođe na nekim mestima slovo đ se prikazuje kao đ.
Verovatno posledica copy/paste-a teksta sa ko zna koje strane...

Ima li ko više iskustva u Latin1 to UTF8.

Hvala unapred!

PS:
Ako admin smatra da je ovo tema za SQL baze podataka neka prebaci tamo ovaj thread...

MorenoArdohain 19. 02. 2010. 20:59

Hint: http://dev.mysql.com/doc/refman/5.0/...nction_replace

mega023 19. 02. 2010. 21:01

Citat:

Originalno napisao MorenoArdohain (Napišite 79966)

da, da... može da pomogne...
Ima li šta sofisticiranije ? :1007:

dinke 19. 02. 2010. 21:01

Citat:

Originalno napisao mega023 (Napišite 79965)
Da li postoji neki način da se &# 273; vrati u đ a da nije php koji trči kroz sve tabele i polja...

Moze MySQL bez PHP-a? :)

Kôd:

update tabela set polje = replace(polje, '&# 273;','đ');
I to uradis za svaku tabelu i problem resen ;)

update: Pih moreno je bio brzi ;)

MorenoArdohain 19. 02. 2010. 21:06

Ako hoces sofisticiranije, napisi script koji ce da iz baze izvuce spisak svih tabela, zatim za svaku tabelu izvuce spisak polja i tip, i onda za svako varchar ili text polje uradis replace :)

MorenoArdohain 19. 02. 2010. 21:10

Postoji jos jedno resenje: da se uradi dump cele baze, zatim da se direktno u dumpu izmene ti problematicni karakteri (mozes cak i iz shell-a), pa se importuju u drugu bazu. Cim se uveris da je ok, dropujes staru i preimenujes novu bazu.

dinke 19. 02. 2010. 23:16

^I to bi odprilike bilo to sto se "sofisticiranih" resenja tice ;) #realLife

mega023 20. 02. 2010. 04:32

Citat:

Originalno napisao MorenoArdohain (Napišite 79970)
Postoji jos jedno resenje: da se uradi dump cele baze, zatim da se direktno u dumpu izmene ti problematicni karakteri (mozes cak i iz shell-a), pa se importuju u drugu bazu. Cim se uveris da je ok, dropujes staru i preimenujes novu bazu.

nemam shell pristup...

ali onda cu tako sa sql replace izmenjati sta treba a same tabele se lako skinu i importuju nazad nije to nista toliko strasno...


Vreme je GMT +2. Trenutno vreme je 18:36.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.