summaryrefslogtreecommitdiff
path: root/ext/mssql/php_mssql.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mssql/php_mssql.c')
-rw-r--r--ext/mssql/php_mssql.c9
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);