If mssql.charset = "UTF-8" can't get UTF-8 string , u can use putenv() to set FREETDSCONF dynamic.
PHP - Manual: 运行时配置
2024-11-15
这些函数的行为受 php.ini 中的设置影响。
名字 | 默认 | 可修改范围 | 更新日志 |
---|---|---|---|
mssql.allow_persistent | "1" | PHP_INI_SYSTEM | |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM | |
mssql.max_links | "-1" | PHP_INI_SYSTEM | |
mssql.min_error_severity | "10" | PHP_INI_ALL | |
mssql.min_message_severity | "10" | PHP_INI_ALL | |
mssql.compatability_mode | "0" | PHP_INI_ALL | |
mssql.connect_timeout | "5" | PHP_INI_ALL | |
mssql.timeout | "60" | PHP_INI_ALL | Available since PHP 4.1.0. |
mssql.textsize | "-1" | PHP_INI_ALL | |
mssql.textlimit | "-1" | PHP_INI_ALL | |
mssql.batchsize | "0" | PHP_INI_ALL | Available since PHP 4.0.4. |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Available since PHP 4.2.0. |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.0. |
mssql.max_procs | "-1" | PHP_INI_ALL | Available since PHP 4.3.0. |
mssql.charset | "" | PHP_INI_ALL | Available since PHP 5.1.2 when built with FreeTDS 7.0 or greater. |
If mssql.charset = "UTF-8" can't get UTF-8 string , u can use putenv() to set FREETDSCONF dynamic.
mssql.charset "" PHP_INI_ALL
this setting is case sensitive, it can provide problms with connection to DB.
ini_set('mssql.charset', 'utf-8');
this setting this allowed me to connect.
ini_set('mssql.charset', 'UTF-8');
that one is ok.
regards!
There also exists a configuration option called 'mssql.charset'.
It will override the 'client charset' setting in freetds.conf.
AFAIK this will only take effect if the 'tds version' setting
in freetds.conf is >=7.0
Take care about mssql.max_procs = '-1'. It doesn't mean unlimited procs.
With the default driver, it's mean 25 procs.
See php.ini for more information.
If you're application is stress, mssql_connect may failed without adjustment.