diff options
author | Frank M. Kromann <fmk@php.net> | 2005-12-21 22:43:06 +0000 |
---|---|---|
committer | Frank M. Kromann <fmk@php.net> | 2005-12-21 22:43:06 +0000 |
commit | a7d2ac4189f536386c43d7e806b6e45a46c758d5 (patch) | |
tree | 7e5411a75177d5edfac9d2aaee47c430ba427add /ext/mssql/php_mssql.c | |
parent | 970298401b4f7b0fd63a8a68cf1cee8000b89c2c (diff) | |
download | php-git-a7d2ac4189f536386c43d7e806b6e45a46c758d5.tar.gz |
Fix #35730 Use correct character encoding with FreeTDS
Diffstat (limited to 'ext/mssql/php_mssql.c')
-rw-r--r-- | ext/mssql/php_mssql.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index 7a72608189..7b7a81844b 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -141,6 +141,9 @@ PHP_INI_BEGIN() 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 @@ static void php_mssql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) #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 @@ static void _mssql_get_sp_result(mssql_link *mssql_ptr, mssql_statement *stateme /* 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); |