kalle Fri, 07 Jan 2011 14:39:56 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=307224
Log: Implemented FR #47802, support for character sets in DSN strings for PDO_MYSQL Bug: http://bugs.php.net/47802 (Open) PDO_MYSQL doesn't use the charset parameter Changed paths: U php/php-src/trunk/NEWS U php/php-src/trunk/UPGRADING U php/php-src/trunk/ext/pdo_mysql/mysql_driver.c U php/php-src/trunk/ext/pdo_mysql/php_pdo_mysql_int.h Modified: php/php-src/trunk/NEWS =================================================================== --- php/php-src/trunk/NEWS 2011-01-07 14:22:30 UTC (rev 307223) +++ php/php-src/trunk/NEWS 2011-01-07 14:39:56 UTC (rev 307224) @@ -170,6 +170,10 @@ . Added nextRowset support. . Fixed bug #50755 (PDO DBLIB Fails with OOM). +- Improved PDO MySQL: + . Implemented FR #47802 (Support for setting character sets in DSN strings). + (Kalle) + - Improved Reflection extension: (Johannes) . Added ReflectionExtension::isTemporary() and ReflectionExtension::isPersistent() methods. Modified: php/php-src/trunk/UPGRADING =================================================================== --- php/php-src/trunk/UPGRADING 2011-01-07 14:22:30 UTC (rev 307223) +++ php/php-src/trunk/UPGRADING 2011-01-07 14:39:56 UTC (rev 307224) @@ -161,6 +161,8 @@ strings. This breaks code that iterated the resulting stream array using a numeric index, but makes easier to identify which of the passed streams are present in the result. +- pdo_mysql now supports setting character sets when connecting in the DSN + string. =================================== Modified: php/php-src/trunk/ext/pdo_mysql/mysql_driver.c =================================================================== --- php/php-src/trunk/ext/pdo_mysql/mysql_driver.c 2011-01-07 14:22:30 UTC (rev 307223) +++ php/php-src/trunk/ext/pdo_mysql/mysql_driver.c 2011-01-07 14:39:56 UTC (rev 307224) @@ -711,6 +711,13 @@ goto cleanup; } +#ifdef PDO_MYSQL_HAS_CHARSET + if (vars[0].optval && mysql_set_character_set(H->server, vars[0].optval)) { + pdo_mysql_error(dbh); + goto cleanup; + } +#endif + if (!dbh->auto_commit) { mysql_handle_autocommit(dbh TSRMLS_CC); } Modified: php/php-src/trunk/ext/pdo_mysql/php_pdo_mysql_int.h =================================================================== --- php/php-src/trunk/ext/pdo_mysql/php_pdo_mysql_int.h 2011-01-07 14:22:30 UTC (rev 307223) +++ php/php-src/trunk/ext/pdo_mysql/php_pdo_mysql_int.h 2011-01-07 14:39:56 UTC (rev 307224) @@ -33,6 +33,10 @@ # define PDO_MYSQL_PARAM_BIND MYSQL_BIND #endif +#if (MYSQL_VERSION_ID >= 40113 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50007 || defined(MYSQL_USE_MYSQLND) +# define PDO_MYSQL_HAS_CHARSET +#endif + #if defined(PDO_USE_MYSQLND) && PHP_DEBUG && !defined(PHP_WIN32) #define PDO_DBG_ENABLED 1
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php