Edit report at http://bugs.php.net/bug.php?id=53108&edit=1
ID: 53108 User updated by: mikhail dot v dot gavrilov at gmail dot com Reported by: mikhail dot v dot gavrilov at gmail dot com Summary: Can't compile php_pdo_dlib NTS VC6 Status: Bogus Type: Bug Package: PDO related Operating System: Windows PHP Version: 5.3.3 Block user comment: N New Comment: The controversial proposal, for me more important is application correctly working in * nix, than any special optimisation's for windows platform. sqlsrv can't give me single correctly working code for both platforms. Previous Comments: ------------------------------------------------------------------------ [2010-10-21 20:09:07] paj...@php.net I will have to test or ask to test encoding and field names. In any case, if you use a framework you should definitively rely on SqlSrv (given that the encoding works or will be fixed if not). FreeTDS won't make it on php for Windows. ------------------------------------------------------------------------ [2010-10-21 19:11:14] mikhail dot v dot gavrilov at gmail dot com 1) Example: I have table wich fields names have CP1251 encoding --Table: dbo.adres CREATE TABLE dbo.adres ( [Column 0] varchar(50), [СиÑÑемнÑй номеÑ] varchar(50), [ФамилиÑ] varchar(50), [ÐмÑ] varchar(50), [ÐÑÑеÑÑво] varchar(50), [ÐÐµÐ½Ñ ÑождениÑ] varchar(50), [СÑок ÑегиÑÑÑаÑии] varchar(50), [РегиÑÑÑаÑÐ¸Ñ Ð¸Ð»Ð¸ пÑебÑвание] varchar(50), [Район] varchar(50), [ÐоÑод] varchar(50), [Село] varchar(50), [УлиÑа] varchar(50), [Ðом] varchar(50), [ÐоÑпÑÑ] varchar(50), [ÐваÑÑиÑа] varchar(50), [ÐÐÐ ÑегиÑÑÑаÑии] varchar(50), [ÐаÑпоÑÑ ÑеÑиÑ] varchar(50), [ÐаÑпоÑÑ Ð½Ð¾Ð¼ÐµÑ] varchar(50), [ÐÐРвÑдаÑи] varchar(50), [ÐаÑа вÑдаÑи] varchar(50), [Смена Ñамилии] varchar(50), [ÐÑоÑие пÑиÑинÑ] varchar(50), [ÐаÑа Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи] varchar(50), [ÐаÑа пÑопиÑки] varchar(50), [Ðид адÑеÑного лиÑÑка] varchar(50), [Column 25] varchar(50) ) GO Microsoft data provider get all fields as is e.g. CP1251 it is wrong, FreeTDS convert to UTF-8 and it is true. 2) I wrote framework for developing banking application. In realization FreeTDS and MS provider i found many difference: a) Freetds provider does not allow the use of attributes as: PDO::ATTR_PERSISTENT... b) Freetds provider does not allow use beginTransaction() in this case better overwrite this functions with selfs SQL framework realisation. If FreeTDS will available on Windows platform, Windows fan boys know about this problem and write more compatible crossplatform code. Sorry for offtopic. --- I solve subject problem: For compilation php_pdo_bdlib.dll you must build dblib.lib, rename to sybdb.lib and put to build lib directory. Good luck ------------------------------------------------------------------------ [2010-10-21 18:43:23] paj...@php.net 1) is not correct, as far as I remember it does support UTF-8 for fields too. For 2), that's why PDO exists or Doctrine. It is not our decisions to drop it. But I'm not willing to provide freetds support on Windows. We don't have the resources for that (and all the support it requires, given the pain it is to use ftds) and SqlServer guys provide an out of the box driver and are very reactive to any feature requests. ------------------------------------------------------------------------ [2010-10-21 18:38:07] mikhail dot v dot gavrilov at gmail dot com FreeTDS provider better than driver from Microsoft. Reasons: 1) Microsoft driver couldn't convert fieldnames to client's encoding. 2) FreeTDS better, because then easier to port Web applications to Linux. Please don't drop this data provider, I and many other open source programmers ready make donations for continues support. M$ really sucks. ------------------------------------------------------------------------ [2010-10-20 11:32:14] paj...@php.net It is not something we provide. This data is not available anymore. We also stoped to support these drivers on Windows in php 5.3 and later. I would suggest to go with SqlSrv (http://sqlsrvphp.codeplex.com/) on Windows, it supports PDO as well. Doctrine and many other projects support it these days. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=53108 -- Edit this bug report at http://bugs.php.net/bug.php?id=53108&edit=1