fmk Wed Dec 21 22:43:06 2005 EDT Modified files: (Branch: PHP_5_1) /php-src NEWS php.ini-dist php.ini-recommended /php-src/ext/mssql php_mssql.c php_mssql.h Log: Fix #35730 Use correct character encoding with FreeTDS http://cvs.php.net/viewcvs.cgi/php-src/NEWS?r1=1.2027.2.312&r2=1.2027.2.313&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.312 php-src/NEWS:1.2027.2.313 --- php-src/NEWS:1.2027.2.312 Wed Dec 21 21:44:13 2005 +++ php-src/NEWS Wed Dec 21 22:43:04 2005 @@ -34,6 +34,7 @@ connecting to 5.x server. (Andrey) - Fixed bug #35760 (sybase_ct doesn't compile on Solaris using old gcc). (Tony) - Fixed bug #35740 (memory leak when including a directory). (Tony) +- Fixed bug #35730 (Use correct character encoding, and allow setting it) (Frank) - Fixed bug #35723 (xmlrpc_introspection.c fails compile per C99 std). (Jani) - Fixed bug #35720 (A final constructor can be overwritten). (Marcus) - Fixed bug #35713 (getopt() returns array with numeric strings when passed http://cvs.php.net/viewcvs.cgi/php-src/php.ini-dist?r1=1.231.2.4&r2=1.231.2.5&diff_format=u Index: php-src/php.ini-dist diff -u php-src/php.ini-dist:1.231.2.4 php-src/php.ini-dist:1.231.2.5 --- php-src/php.ini-dist:1.231.2.4 Mon Nov 14 23:14:23 2005 +++ php-src/php.ini-dist Wed Dec 21 22:43:04 2005 @@ -1035,6 +1035,11 @@ ; FreeTDS defaults to 4096 ;mssql.max_procs = -1 +; 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-1" + [Assertion] ; Assert(expr); active by default. ;assert.active = On http://cvs.php.net/viewcvs.cgi/php-src/php.ini-recommended?r1=1.179.2.5&r2=1.179.2.6&diff_format=u Index: php-src/php.ini-recommended diff -u php-src/php.ini-recommended:1.179.2.5 php-src/php.ini-recommended:1.179.2.6 --- php-src/php.ini-recommended:1.179.2.5 Mon Nov 14 23:14:23 2005 +++ php-src/php.ini-recommended Wed Dec 21 22:43:04 2005 @@ -1093,6 +1093,11 @@ ; FreeTDS defaults to 4096 ;mssql.max_procs = -1 +; 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-1" + [Assertion] ; Assert(expr); active by default. ;assert.active = On http://cvs.php.net/viewcvs.cgi/php-src/ext/mssql/php_mssql.c?r1=1.152.2.10&r2=1.152.2.11&diff_format=u Index: php-src/ext/mssql/php_mssql.c diff -u php-src/ext/mssql/php_mssql.c:1.152.2.10 php-src/ext/mssql/php_mssql.c:1.152.2.11 --- php-src/ext/mssql/php_mssql.c:1.152.2.10 Tue Dec 6 18:47:14 2005 +++ php-src/ext/mssql/php_mssql.c Wed Dec 21 22:43:06 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_mssql.c,v 1.152.2.10 2005/12/06 18:47:14 iliaa Exp $ */ +/* $Id: php_mssql.c,v 1.152.2.11 2005/12/21 22:43:06 fmk Exp $ */ #ifdef COMPILE_DL_MSSQL #define HAVE_MSSQL 1 @@ -141,6 +141,9 @@ STD_PHP_INI_BOOLEAN("mssql.datetimeconvert", "1", PHP_INI_ALL, OnUpdateBool, datetimeconvert, zend_mssql_globals, mssql_globals) STD_PHP_INI_BOOLEAN("mssql.secure_connection", "0", PHP_INI_SYSTEM, OnUpdateBool, secure_connection, zend_mssql_globals, mssql_globals) STD_PHP_INI_ENTRY_EX("mssql.max_procs", "-1", PHP_INI_ALL, OnUpdateLong, max_procs, zend_mssql_globals, mssql_globals, display_link_numbers) +#ifdef HAVE_FREETDS + STD_PHP_INI_ENTRY("mssql.charset", "", PHP_INI_ALL, OnUpdateString, charset, zend_mssql_globals, mssql_globals) +#endif PHP_INI_END() /* error handler */ @@ -495,7 +498,9 @@ #endif #ifdef HAVE_FREETDS - DBSETLCHARSET(mssql.login, "ISO-8859-1"); + if (MS_SQL_G(charset) && strlen(MS_SQL_G(charset))) { + DBSETLCHARSET(mssql.login, MS_SQL_G(charset)); + } #endif DBSETLAPP(mssql.login,MS_SQL_G(appname)); @@ -1009,7 +1014,7 @@ /* Now to fetch RETVAL and OUTPUT values*/ num_rets = dbnumrets(mssql_ptr->link); - + if (num_rets!=0) { for (i = 1; i <= num_rets; i++) { parameter = (char*)dbretname(mssql_ptr->link, i); http://cvs.php.net/viewcvs.cgi/php-src/ext/mssql/php_mssql.h?r1=1.42.2.1&r2=1.42.2.2&diff_format=u Index: php-src/ext/mssql/php_mssql.h diff -u php-src/ext/mssql/php_mssql.h:1.42.2.1 php-src/ext/mssql/php_mssql.h:1.42.2.2 --- php-src/ext/mssql/php_mssql.h:1.42.2.1 Tue Dec 6 01:25:16 2005 +++ php-src/ext/mssql/php_mssql.h Wed Dec 21 22:43:06 2005 @@ -17,7 +17,7 @@ */ -/* $Id: php_mssql.h,v 1.42.2.1 2005/12/06 01:25:16 sniper Exp $ */ +/* $Id: php_mssql.h,v 1.42.2.2 2005/12/21 22:43:06 fmk Exp $ */ #ifndef PHP_MSSQL_H #define PHP_MSSQL_H @@ -158,6 +158,9 @@ zend_bool allow_persistent; char *appname; char *server_message; +#ifdef HAVE_FREETDS + char *charset; +#endif long min_error_severity, min_message_severity; long cfg_min_error_severity, cfg_min_message_severity; long connect_timeout, timeout;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php