php链接sqlserver中文参数_php使用dblib扩展,连接sqlserver中文乱码问题

在使用php链接sqlserver的时候,查询出来的数据,编码不稳定,一会utf8,一会出现问号。很纠结。下面的方法,可以解决此种问题。前提是dblib扩展。

如果查到的结果是乱码,更改/usr/local/freetds/etc/freetds.conf将global中添加了一条client charset = UTF8

切记,修改完毕记得重启。

附加:

php安装dblib扩展的方法步骤。(备注,一下步骤,没有验证。)

1.先安装freetds 然后修改配置文件

不要装0.82版本,会报编译失败Compile Failure With freetds0.82

进到freetds目录下编译安装./configure --prefix=/usr/local/freetds --enable-msdblib --enable-sybase-compat   --disable-threadsafe

make

make install

2.再装mssql

进到目录下编译安装/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds

make

make install

3.再装dblib

进到目录下编译安装/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds

make

make install

4.修改php.ini

extension=mssql.so

extension=pdo_dblib.so

tsql客户端连接的命令/usr/local/freetds/bin/tsql -H 192.168.1.100 -p 1433 -U sa -P 123456 -D user

修改配置文件

/usr/local/freetds/etc/freetds.conf 配置文件位置tds version = 8.0 //修改

client charset = UTF8 //新增

如果连不上数据库,就检查一下版本,将/usr/local/freetds/etc/freetds.conf中global选项中tds version = 8.0

如果查到的结果是乱码,更改/usr/local/freetds/etc/freetds.conf将global中添加了一条    client charset = UTF8

Adaptive Server is unavailable or does not exist” error connecting to SQL Server from PHP    是没加端口引起的

要加端口不然连不上

'dblib:host=192.168.8.888:1433;dbname=xxxx'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值