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

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

client charset = UTF8

附加:

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

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

freetds编译安装

# wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
# tar -zxvf freetds-patched.tar.gz
# cd freetds-1.00.86

# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
# 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'

php5.4使用dblib扩展,连接sqlserver中文乱码问题的更多相关文章

  1. web 前端:连接mysql中文乱码问题的解决办法

    当使用tomcat部署servlet连接时,总是出现各种原因的中文乱码问题.有的是因为mysql的默认字符集的问题,有的是客户端的字符配置问题. 现在对于这两种问题进行配置,来解决乱码. 服务器端(m ...

  2. Linux下用freetds连接mssql中文乱码的问题【参考1】

    由于工作原因我们需要通过php访问我们以前的Sql Server 2005数据,所以就有了这篇文章的诞生.废话就少说了,做程序设计的最不喜欢兜圈子了.用简介步骤说明问题,往下看.系统:   Linux ...

  3. iTerm2连接远程-中文乱码问题

    现象 mac 上用是iterm2终端, Shell 环境是zsh. ssh 到Linux 服务器上查看一些文件时,中文乱码. 
这种情况一般是终端和服务器的字符集不匹配,MacOSX下默认的是utf8 ...

  4. navicate与mysql连接的中文乱码问题

    1. 在navicate中查看 show variables like'char%'; show variables like 'collation_%'; 2.在mysql中查看 通过对比可以发现两 ...

  5. 安装pdo_dblib扩展连接SQLserver

    1.先得安装freetdswget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.1.5.tar.gztar zxvf freetds-1.1. ...

  6. php -- 解决php连接sqlserver2005中文乱码问题(附详细解决方法)

    @_@~~ --php5.2 --phpstudy --apache --sqlserver2005 @_@~~问题描述 问题一:php连接sqlsever2005,输入中文,然后查询sqlserve ...

  7. Linux下用freetds连接mssql中文乱码的问题【参考2】

    php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有. 用php自带的mssql函数可以的.编译freetds,php_mssql, ...

  8. Java连接MySQL中文乱码处理【转载】

    本文转载地址:http://developer.51cto.com/art/200906/130425.htm 感谢相关作者! MySQL默认编码是latin1 mysql> show vari ...

  9. Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库

    最近所写的代码中需要用到python去连接MySql数据库,因为是用PyQt5来构建的GUI,原本打算使用PyQt5中的数据库连接方法,后来虽然能够正确连接上发现还是不能提交修改内容,最后在qq交流群 ...

随机推荐

  1. Hat’s Words HDU - 1247 字典树

    题意:给出数个单词 输出单词 如果该单词 是由字典中的单词组成的 思路:字典树 先把全部建树  然后对于每一个单词进行分割,分别拿两半到字典树里面去找 小心RE! #include<bits/s ...

  2. windows 系统错误码总结

    windows 错误码大全: 操作成功完成. 功能错误. 系统找不到指定的文件. 系统找不到指定的路径. 系统无法打开文件. 拒绝访问. 句柄无效. 存储控制块被损坏. 存储空间不足,无法处理此命令. ...

  3. 【题解】 AtCoder ARC 076 F - Exhausted? (霍尔定理+线段树)

    题面 题目大意: 给你\(m\)张椅子,排成一行,告诉你\(n\)个人,每个人可以坐的座位为\([1,l]\bigcup[r,m]\),为了让所有人坐下,问至少还要加多少张椅子. Solution: ...

  4. Codeforces Bubble Cup 11 J. Moonwalk challenge加强版

    题意 有一棵 \(n\) 个节点的树,每条边上有一个字符,有 \(m\) 次询问. 每次会选定两个点 \(u, v\) , \(u\) 到 \(v\) 的路径上的字符形成了一个字符串 \(T\) ,再 ...

  5. Mysql数据库操作笔记

     如果数据库表字段存在,则删除该表 drop table if exists `table_name` 创建数据库表语句 create table `table_name`( `id` ) not n ...

  6. iptables(2)

    MASQUERADE同样是做源地址转换,只不过防火墙会根据该策略自动查找可用的公网IP地址,适应变化的情况•若接口使用ppp+,表示匹配ppp0.ppp1……中任意可用的拨号连接•若需要演示操作,可以 ...

  7. KVM改NAT为Bridge

    kvm 改nat为桥接在安装一个拥有虚拟化功能的Linux操作系统(此处以CentOS为例),一般我们有两种方法:1.在光盘安装的时候安装好虚拟化包或者PXE服务器上配置好虚拟化包2.手动在没有安装虚 ...

  8. One Person Game ZOJ - 3329(期望dp, 数学)

    There is a very simple and interesting one-person game. You have 3 dice, namely Die1, Die2 and Die3. ...

  9. [ZJOI2010]贪吃的老鼠(网络流+建图)

    题目描述 奶酪店里最近出现了m只老鼠!它们的目标就是把生产出来的所有奶酪都吃掉.奶酪店中一天会生产n块奶酪,其中第i块的大小为pi,会在第ri秒被生产出来,并且必须在第di秒之前将它吃掉.第j只老鼠吃 ...

  10. 洛谷P3242 接水果

    关于矩形与点其实有两种关系. 一种是每个矩形包含多少点.一种是每个点被多少矩形包含. 解:因为可以离线所以直接套整体二分.关键是考虑如何能够被覆盖. 我一开始都是想的树上操作...其实是转化成DFS序 ...