PDA

View Full Version : MySQL setup i hrv.slova iz php


BlackMore
02-02-2007, 22:02
Ja sam instalirao php 4.4.2 i MySQL 5.0.15 na XP SP2 i sve to veselo vrti Apache 2. Problem je nastao kada sam nakon pocetnog igranja htio uz pomoc php koda insertovati podatke u char polja koja u sebi sadrze dijakriticke znakove (čćšžđ) jer MySQL odbija uz poruku:
Error in query: INSERT INTO adresar (prezime, ime, godiste) VALUES ('Čović', 'Dado', '1996'). Data too long for column 'prezime' at row 1
Za default char set sam postavljao Latin1, Latin2, utf8... i opet isto. U php-kodu na pocetku imam:
<head>
<title>Ubacivanje u adresar</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
<?php
...
i svi se karakteri lijepo vide ali nce u bazu za Boga miloga. Ako uz pomoc MySQLFront-a ubacim direktno podatke sa dijakriticima, tamo se fino vide ali se u SQL-upitu pojave sa upitnicima ili vec slicnim anomalijama. Sta treba da se radi pa da to proradi kako treba, treba li mijenjati setup MySQL, obrisati bazu i tabelu, ...?
Hvala unaprijed. Ah, da... lokalno se radi.

djomla
02-02-2007, 22:08
koristi utf8 na oba mjesta i miran ...

BlackMore
02-02-2007, 22:24
Ne ide. Obrisao sam tabelu i bazu. Onda sam rekonfigurisao MySQL i stavio za manuelno postavljeni default char utf8 (treć opcija odozgo), napravio novu bazu, novu tabelu, poljima char tipa rekao da su utf (collation nisam dirao, ostavio blank) i opet neće insert!? :jaooo: E pa stvarno nisam pametan.

franzi
02-02-2007, 23:31
E pa char tip ti alocira svoju količinu slova (tj, bajtova) i nemo'š prekoračit! Sama ti greška izbacuje "Data too long!". Koristi VARCHAR tip.

BlackMore
03-02-2007, 09:30
Nije problem u dužini char prezime polja (20)...query normalno insertuje u tabelu imaginarnu osobu koja nema u ime i prezime "naša" slova (čćšžđ), dakle engleska imena prolaze glatko... a promijenio sam ja i char(20) u varchar(20) i opet ćorak. Ne mogu da vjerujem da tako neka stvar podešavanja charseta baze i tabele ide tako komplikovano ko kvantna fizika umjesto klasičnog: "klik-klik" i Bog te veselio..! Zapravo, pošteno govoreći, ide klik-klik ali ni'š ne gre...

glavince
04-02-2007, 22:15
1. Tabela u bazi mora da bude utf-8
2. Encoding na html gde upisujes i citas bazu mora da bude utf-8
3. Sam fajl mora da bude utf-8. Neznam u cemu si pisao skript ali proveri dali je encoding fajla UTF-8. Ako nije utf-8 prilikom konvertiranja u utf-8 pazi da nema BOM-a.