DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   Unicode problem. (http://www.devprotalk.com/showthread.php?t=2411)

Aleksandar Mitić 11. 02. 2007. 16:41

Unicode problem.
 
Dakle, problem je sledeći: Sve stranice na sajtu su setovane na unicode-ci. Tabele u bazi (mysql, host011.) su takođe u unicodu, a naveo sam i za sva tekstualna polja unicode. Upit iz phpmyadmin-a vraća sva naša slova bez problema, ali na sajtu ih nema. Evo i linka: www.etsbor.edu.yu.

Na beotelu nisam imao problema sa našim slovima, ali sada imam, i stvarno više nemam pojma u čemu je kvaka.

Ilija Studen 11. 02. 2007. 16:55

Nakon što se konektuješ na bazu probaj da izvršiš sledeći:

Kôd:

SET NAMES 'utf8'
Ako to ne upali probaj sa:

Kôd:

SET NAMES 'latin1'
Ukoliko si na prethodnom hostu koristio MySQL stariji od 4.1 ili pak 4.1+ sa latin1 kolonama ti NEMAŠ Unicode podatke u bazi. Ti imaš Unicode sačuvan u Latin1 poljima i tako treba da ih tretiraš (kao Latin).

Gunđanje: Velika glupost je što se MySQL ne brine o samim podacima prilikom menjanja collationa polja. Time bi uštedeo svima tone vremena pošto je ovo jedno od najčešće postavljanih pitanja u vezi sa MySQL-om u zadnje vreme (samo na DTP je bilo četiri ili pet ovakvih tema ako me sećanje dobro služi).

Aleksandar Mitić 11. 02. 2007. 17:46

Nikakav latin ne dolazi u obzir. :) Pazio sam od početka.

Ok, evo scenarija. Uploadovan je sajt na beotelu sa localhosta. Na localhostu nisam imao naša slova ali sam znao da ću ih imati na beotelu jer sam proverio prethodno. Sve je bilo u unicodu i na localhostu sam imao naša slova iz phpmyadmina. Istekao nam je hosting i prebacili smo se na host011 (koji ima 4.1. mysql). Sve što je moglo da se setuje na unicode, setovao sam :). Onda sam uradio back up sa localhosta i prebacio sql kompatibilnost na 4.1. verziju. Napravio sam bazu na novom serveru, uradio import, i tu kreću moje muke. Tabele više nisu u unicodu, polja takođe, ode sve u... Latin swedish :)... Ja ponovo promenim sve u unicode i svaku kukicu prepravim tj. editujem celu bazu, gotovo 70% sajta, prepravim na naša slova ponovo. Ok, opet neće. Sve radi kako treba sa html-om, ali me php stranice zezaju. Phpmyadmin i dalje vraća naša slova i sve je ok odatle. Zašto mi sajt ne daje ispravna slova? I zašto je radilo na beotelu to nikako da skontam. Sve sam setovao na unicode i prepravio od nule ponovo, ali i dalje neće. Probao sam ovo ali nema efekta. Jel je moguće da to više nema veze sa mysql-om? Možda lupam, ali mi ne pada na pamet gde grešim.

Ilija Studen 11. 02. 2007. 17:48

Jesi probao ovo što sam ti napisao? Prvo probaj to pa ćemo dalje lako...

Aleksandar Mitić 11. 02. 2007. 17:51

2 Prilog(a)
Jesam, na to sam mislio kada sam rekao "I dalje nema efekta...". :)

Ilija Studen 11. 02. 2007. 20:34

Ako ono ne radi onda stvarno ne bih umeo da ti pomognem. Najbolje što mogu je da te uputim na ovaj dokument i da se poigraš sa parametrima konekcije (pre svega mislim na charset) pošto je on u 99% slučajeva uzročnih problema koje imaš.

Dejan Topalovic 11. 02. 2007. 22:08

Kopiraj rezultat ovih komandi:
Kôd:


SHOW CREATE DATABASE tvojaBaza\G
 
SHOW CREATE TABLE nekaOdTvojihTabela\G


ivanhoe 11. 02. 2007. 23:35

^^ bravo Dejane, jako prosta fora, a ne bih se setio da to pogledam...

Aleksandar Mitić 11. 02. 2007. 23:37

Napravio sam ga nekako. :)

@Ilija, tnx, pročitao sam to još ranije, ali hvala na linku.

@Dejan, rezultat je greška u sintaksi. :)

Još ne vidim u čemu je bio problem, ali radi kada unesem podatke u tabelu preko posebne stranice na sajtu. Problem je kada direktno unesem iz mysql-a. Onda se pojavljuju naša slova ali ih nema na sajtu.

Dejan Topalovic 11. 02. 2007. 23:44

Citat:

Originalno napisao Aleksandar Mitić
@Dejan, rezultat je greška u sintaksi. :)

Mislis, javi ti gresku za ove komande, koje sam ti naveo? Koju verziju MySQL-a imas i mozes li kopirati sve kako ukucas i sta ti se pokaze?

Btw. sta podrazumijevas pod "direktnim unosom iz mysql-a"?

Bilo bi dobro da pronadjemo uzrok tog problema, a pogotovo rjesenje. :)


Vreme je GMT +2. Trenutno vreme je 03:02.

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.