[ veljovic @ 07.09.2004. 09:41 ] @
| kako da upisujem nasa slova u mysql bazu podataka.
radim neku jednostavnu formu za telefonski imenik ali imam probleme sa slovima.
moram to da obavim sa Ć, ć, Č, č, Đ, đ, Š, š slovima.
kada ih upisujem u bazu ne upisuju se ta slova vec neki drugi znaci i brojevi.
sta treba da prosledim sa php strane da bi sve proradilo lepo ? |
[ noctua @ 07.09.2004. 09:58 ] @
Pozdrav!
Evo ti jedne od smernica:
Trkom otvori neki manual (poze i php-ov sajt) i pogledaj komande:
urlencode i urldecode
[ Goran Rakić @ 07.09.2004. 12:18 ] @
HTML fomular, ili php source mora biti snimljen u odgovarajucoj kodnoj stranici (UTF-8 na primer). Ako koristis mysqli (ili je to mozda vezano za MySQL 4.1) moras podesiti i charset mysql konekcije.
[ aleksandaraleksandar @ 07.09.2004. 23:42 ] @
drugar je imao problem i resenje je nasao na php.co.ba
[ eskim @ 08.09.2004. 01:23 ] @
charset mysql konekcije to znachi da u samom skriptu podeshavash ili editujesh sistemska .ini podeshavnja?
[ arnoldc @ 08.09.2004. 10:27 ] @
Imam jedno zaobilazno rešenje.
Postavi kodnu tablu HTML stranice na "iso-8859-1".
Accept Charset form-a iz kojeg unosis podatke podesi na "iso-8859-2".
U ovom slučaju ćes umesto naših slova dobijati ©, ¾, ¹, itd...
Pre nego što ih uneseš u bazu, izmeni ih u HTML entitete za naša slova.
Rezultati će biti povoljni ako ove podatke budeš obrađivao u HTML-u, nisam siguran koliko je dobra ideja ako će ti podaci biti potrebni i za neke druge stvari, pr. za export i obrađivanje nekoj drugoj bazi ili sl.
Takođe će ti se javljati problemi tokom abecednog reda odnosno pretraživanja, mada je to lako srediti...
Važno je da radi :)
[ Goran Rakić @ 08.09.2004. 13:58 ] @
To NIKAKO ne raditi. Podatke obavezno cuvaj u ISO-8859-2 za latinicu, ISO-8859-5 za cirilicu ili moja preporuka UTF-8. Znaci stavi sledecu liniju u <header> sekciju HTML dokumenta sa formom, ali i dokumenta u kome prikazujes rezultate:
Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Ako ovo ne radi, tj. novouneseni podaci ne budu lepo prikazani, moras reci koja verzija MySQL-a i koja verzija PHP-a je u pitanju.
[ Shinhan @ 08.09.2004. 17:28 ] @
A i ina=C4=8De bi trebao da koristi=C5=A1 UTF-8. Najbolji na=C4=8Din da se =
u istom
dokumentu koriste =C4=87irilica, latinica i engleski bez problema.
[ arnoldc @ 08.09.2004. 20:21 ] @
Shvatam. Ali...
Da li MySQL u osnovi prihvata UTF-8 ili ISO-8859-2 kodne table? Kako da podatke pošaljem sa ovim kodnim tablama u bazu ako MySQL naše karaktere jednostavno pretvara u znakove pitanja? Da li da cimam admina da mi to podešava iako nije plaćen za to, nema vremena ili sl.? Kako ću da administriram podatke u slučaju da naletim na neki kompjuter čiji OS ne podržava naše karaktere? Kako ću kasnije da sredim da interni pretrazivac (ne) razlikuje karaktere sa akcentima i bez? Da li će slaganje u abecedni red ići bez problema? Da li će doći do nekompatibilnosti ako budem prenosio neke podatke sa domaćim karakterima u URL-u?
Naletio sam na sva ova pitanja kad sam se i ja susreo sa sličnom problematikom, a ISO-8859-2 ili UTF-8 kodne table mi jednostavno nisu pomogle.
[ arnoldc @ 08.09.2004. 20:38 ] @
Još jedno pitanje, da li je moguće da podatke koji su upisani u bazu sa UTF-8 da iskoristim i na stranicama koji su striktno ISO-8859-1?
[ -zombie- @ 09.09.2004. 03:48 ] @
sve je moguće i sve je najlakše sa UTF8. mysql nema šta da konvertuje i da prihvata/ne prihvata naša slova u UTF8. osim za sortiranje (to je druga priča), za sve ostalo mysql samo dobije niz bajtova i tako ga upiše u bazu. kada mu zatražiš, opet ti isporuči taj niz bajtova, i sve to nevezano za kodiranje.
znači, ti treba da znaš u kome je tom kodiranju, i da se shodno tome odnosiš prema tom nizu bajtova.. u prevodu, konkretno što se weba tiče, to znači da sve što treba da uradiš je da pošalješ enkoding utf-8 u content-type.
a za tumbanje iz jednog enkodinga u drugi, samo iconv ( http://php.net/iconv).
[ BluesRocker @ 22.04.2005. 15:23 ] @
Ja nemam problema sa upisom i prikazivanjem nasih slova, ali mi ne radi pretraga tabele za nasa slova. Odnosno radi na lokalnom serveru, ali ne radi na host serveru. Nisam koristio htmlentities ni htmlspecialchars. Kad sam koristio htmlentities, nije mi radila pretraga ni na lokalnom serveru. Ako moze pomoc.
[ BluesRocker @ 22.04.2005. 19:26 ] @
Ovo mi pise u phpMyAdminu:
The mbstring PHP extension was not found and you seem to be using multibyte charset. Without mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results
[ BluesRocker @ 22.04.2005. 19:45 ] @
Resen problem, bio mi je podesen utf8 u adminu, stavio sam na win-1250.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|