DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   [REŠENO] ŤĂ„‡e Ă„ÂŤ i ostale brljotine u bazici (http://www.devprotalk.com/showthread.php?t=9802)

bojand 15. 03. 2011. 21:23

[REŠENO] ŤĂ„‡e Ă„ÂŤ i ostale brljotine u bazici
 
Pozdrav,

downloadovao sam bazu sa baze hosta, nameran da tekstove konvertujem u drugu tabelu, dodam nova polja i tekstove iz više tabela strpam u jednu odvojenu flegovima - radi lakše manipulacije. Sada sam u fazi kodiranja koda koji će sve to da radi. I sve to kasnije,kad sredim da radi u lokalu prebacim na server i konverzijom strpam u jednu tabelu.

Međutim, prilikom downloada i importovanja sa myadminom, pojaviše mi se karakuke tipa : će Ă„ÂŤ . Prilikom konverzije (čitanja baze, i ubacivanja podataka u novu tabelu petljom) dobijem grešku :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'datum_za_citanje,datum_kucanja,pregleda,tip_tekst a) values( ''Ru' at line 2

Nakon Ru(kvotovano gore) ide karakuka Ť.

U originalu je Ručni, bla, bla, bla... Pa ide gomila teksta.

(3 minuta kasnije)

Sad baš gledam - na hostu mi je u bazi isto : RuÄŤni znači sa karakukom...

U bazi na hostu mi je collation na : latin1_swedish_ci . Ne pitajte me zašto, nisam ja to stavljao . ;)

Importovanjem u lokal dobio sam isti collation, latin1_ itd.

Prilikom štampe html-a dobijam isto karakukice u lokalu, na hostu je ok. :)

Host mi je html u utf-8, lokal isto. Totalno sam zbunjen. :lost:

Pitanje:

1. Mogu li "bezbolno" da pretvorim ove karaktere u naša slova, bez velikih peripetija (promenom collationa tabele ne dobijam ništa)?

2. Zna li neko šta se zbiva? Verovatno neko zna, al dal će da mi kaže? :)

ivanhoe 15. 03. 2011. 22:22

collation je za sortiranje slova, bitan je CHARSET tabele, ali pretpostavljam da je i on na latin. To znaci da si utf8 znakove pakovao kao latin1 u bazi, i zbog toga imas kuke i kvake. U jednacini ti je bitno jos i koji je encoding veze na bazi, kad se kacis iz php-a (ako nisi koristio SET NAMES onda je verovatno i to latin.

Prvo backupuj bazu.
Onda probaj ovo, i dodaj u PHP da ubuduce prvo pozove SET NAMES utf8 (ako vec nema to negde)

ako ne uspe vrati backup pa googlaj dalje... ima dosta textova o slicnim problemima i resenjima, razlike su u detaljima uglavnom...

centaur 15. 03. 2011. 22:33

http://www.mysql.rs/2010/07/smece-u-...-zna-koji-put/

skaarj 15. 03. 2011. 22:37

Evo covek je sve lepo objasnio:

http://www.mysql.rs/2010/07/smece-u-...-zna-koji-put/

bojand 16. 03. 2011. 17:07

Super objašnjeno, stvarno dobar link!

Međutim, ovo zahteva suviše alter-ovanja i previše fizikalije.:1054:

Ko što rekoh, ja učitavam podatke u string iz baze-> pa ga onda stavljam u drugu tabelu. Ako mi je druga tabela već u ispravnom kar.setu, može li to php da odradi-> da promeni karaktere u letu, pre turanja u novu tabelu?

Bojan Zivanovic 16. 03. 2011. 17:48

Mozda SET NAMES latin1, pa SELECT, pa pre inserta SET NAMES utf8.
Ja sam na taj nacin citao iz jedne baze (latin1) i pisao u drugu (utf8) i resio problem.

bojand 16. 03. 2011. 18:27

:1090:

To bi bilo to!

Hvala svima!


Vreme je GMT +2. Trenutno vreme je 13:22.

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.