I'm using Microsoft driver v. 1.1 with utf-8 support, writing applications with Codegear Delphi for PHP framework v. 2.1.
1) The implementation of the method FetchField of the ADORecordset_mssqlnative class is wrong: should return an ADOFieldObject.
I modified the code: a new $fieldmeta member, intialized in _initrs (instead of a local variable), is now used to retrieve the correct infos. Caution: the ADOFieldObject->type must be a string, not a number!
Now methods like ADOConnection->GetUpdateSQL and GetInsertSQL seem to work fine (Delphi for PHP uses AutoExecute to post changes).
2) I modified the code to use the value of ADOConnection->charSet, if specified, to set properly the CharacterSet connection option in ADODB_mssqlnative->_connect; so it's easy to use UTF-8.
3) Not all utf-8 chars where posted to the db in the correct form; this is due to the "prepend N" problem. A look at the implementation of ADODB_mssql_n class seems to solve this problem.
Fulvio Fusco