Forumi
Home Pravila i pomoć Članovi Kalendar Današnji postovi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 06.09.2007., 03:05   #1
Mistake
Premium
 
Mistake's Avatar
 
Datum registracije: Jan 2006
Lokacija: dreamweaver 5, 10000 Zagreb
Postovi: 26
MySQL i C# aplikacija

Pozdrav, već nekoliko dana bezuspješno pokušavam riješiti sljedeći problem.
Naime, imam windows aplikaciju pisanu u C# .NET koja komunicira sa MySQL bazom.
Problem je naravno sa encodingom, MySQL Baza ima utf8_bin collation kao i svi njezini dijelovi.
Komunikacija (upis< --> ispis) sa php-om ide bez poteškoća.
Međutim, kad pokušam nešto iz baze ispisati u toj windows aplikaciji ne vide se palatali čćžšđČĆŽŠĐ. Naravno, problem je u tome što stringovi u c#-u najvjerojatnije nisu u utf8 encodingu. Tražio sam neko bezbolno i sretno rješenje kako bih možda našao postavke kojima bi svi stringovi u programu bili UTF8, ili da bih eventualno promijenio encoding pojedinog stringa, ali sve je to bilo bezuspješno.

Odlučio sam probati sa "alternativama", tj. napraviti filtre koji bi "replejsali" naše znakove iz programa u one koje i php zapisuje u bazu (nazovimo ih "hijeroglifima") kod upisa u bazu, odnosno obrnuto kod ispisa.
Filter za upis u bazu bi izgledao ovako:

string filterUlaz(string str) {
str = str.Replace("Č", "ÄŒ");
str = str.Replace("Ć", "Ć");
str = str.Replace("Đ", "Ä�");
str = str.Replace("Ž", "Ž");
str = str.Replace("Š", "Å ");
str = str.Replace("č", "Ä�");
str = str.Replace("ć", "ć");
str = str.Replace("đ", "Ä‘");
str = str.Replace("ž", "ž");
str = str.Replace("š", "Å¡");
return str;
}


Stvar radi djelomično, tj. upisuje sve hijeroglife ispravno osim:
ć za kojeg upisuje Ŀ
Ć za kojeg upisuje Ŀ
te đ kojeg uopće ne želi upisati nego javi grešku:
Quote:
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 ''Ä'','')' at line 1


Ima li tko ikakvu ideju? po mogućnosti bez Alternativa, dakle filtera?
Ima još alternativa koje će sigurno raditi, ali ne bih se htio oslanjati na njih.
Hvala

EDIT:
Izlazni filter radi za sve znakove ispravno :S

EDIT2:
Tek sad vidim da nisam uzeo uobzir da se znak ‘ možda protumači kao apostrof pa ga možda treba escape-ati, ali i dalje ne vidim koji je problem sa znakovima Ć i ć (pretpostavljam da spremi samo prvi znak hijeroglifa ili nešto na tu fintu)

uglavnom, i dalje tražim rješenje problema....
__________________
i noga u guzicu korak je naprijed
Mistake je offline   Reply With Quote
Oglas
 
Oglas
Oglasni prostor

Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na