PHP + MSSQL vs UTF-8

Sziasztok!

Kis form-feldolgozó projekt fejlesztését kellene elvégeznem egy Win+MSSQL rendszerre PHP-ben.

Namost, a kódot utf-8 kódolással írom (notepad2), minden (x)html kód, amit az apache visszaküld szintén utf-8 kódolású.
Egyetlen problémám, hogy a mssql2k5-ben tárolt adatok lekérdezésekor az ékezetes betűk helyén ?-ek jelennek meg. Böngészőben a kódolást állítva ISO-8859-1-re az adatbázisból nyert adat jól jelenik meg, viszont az összes többi szöveg olvashatatlan lesz. -> Ezek szerint kódolás. Néztem msdn-t, azt írja, hogy VARCHAR() típusú mezők helyett használjak NVARCHAR()-t, mert az támogatja a unicode-ot jól. Ok. Megcsináltam így a táblámat, próba -> ugyanaz.

Szóval miután 1.5 napig vesződtem, hogy összeházasítsam a MSSQL-t az Apache-csal, valaki tudna segíteni, hogy mivel érdemes próbálkozni hogy mondjuk egy

S<m>ELECT NAME FROM USERS WHERE UID = akármi

utasításban visszakapott ékezeteket tartalmazó nevet normálisan meg tudjak jeleníteni?

Hozzászólások

amit az adatbázisból visszakapsz (ill. odaadsz(!)), azt át kell kódolni a megfelelő kódolásra.
VAGY minden szöveget átkonvertálsz az adatbázison belül UTF-8-ra ISO-8859-1-ről.

Sziasztok!

Köszönöm a gyors segítséget! Sajnos pch javaslata nem működik, ugyanúgy iso8859-1-ben kapom vissza a sztringet. Most kipróbáltam, hogy egy

$row = mssql_fetch_array($result);

hívás után az utf8_encode() függvényt meghívom adott mezőn és kiíratom:

echo "Név: " . utf8_encode($row['NAME']);

. Így most jó. Holnap még kísérletezek vele, hogy tényleg jó-e!

Hogyha viszont így jó, akkor is szükséges egy insert előtt utf8_decode-dal konvertáltatni a bemenetet vagy encode megoldja majd nekem a konverziót?

--
A gyors gondolat többet ér, mint a gyors mozdulat.

ha freetds-t hasznalsz, az /etc/freetds/freetds.conf-ban allitsd be a szerver beallitasai kozott:
[szerver]
host = xxx
port = yyy
client charset = ISO-8859-2 -t vagy a megfelelot

illetve a /etc/php5/apache2/php.ini-ben:
; Specify client character set.
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS
mssql.charset = "ISO-8859-2"