[ JunioR1 @ 06.09.2007. 16:18 ] @
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:
PHP Code:
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
EDIT 2:
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....