php5.3的情况下,用pdo的dblib驱动无法连接mssql的,根据官方的描述,5.2已经修改这个bug,5.3没有。

用php自带的mssql函数可以的。编译freetds,php_mssql,pdo_dblib参数如下:
 ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/
./configure
--with-php-config=/usr/local/php/bin/php-config
--with-mssql=/usr/local/freetds --enable-pdo
--with-pdo-dblib=/usr/local/freetds/

用自带mssql函数无法设置字符集,set names
不被支持,最后参考了adodb的代码,发现解决这个问题还得用com,或者用ative mssql driver,
这两东西在windows下可以,linux还是不大好使的。解决办法是编辑/usr/local/freetds/etc/freetds.conf
加上一行client  charset   =   GBK, 设置成utf-8是不对的,因为mssql排序规则数据库默认设置是Chinese PRC,相当于gb2312,

另外php.ini 里面mssql.charset  是不需要设置的,其实说得很清楚:
; Specify client character set.
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS

当FreeTDS的client charset
为空或者没有设置的时候才需要设置这个。曾经错误的将这里设置成utf-8,FreeTDS的client charset
也设置成utf8,结果mssql_connect的时候就开始报错了。最终结论,只需要设置FreeTDS的client charset
为GBK,然后在php的程序里面iconv('GBK', 'UTF-8//IGNORE', $str);一下就一切正常了。

Linux下用freetds连接mssql中文乱码的问题【参考2】的更多相关文章

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

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

  2. 解决在Linux下安装Oracle时的中文乱码问题

    本帖最后由 TsengYia 于 2012-2-22 17:06 编辑 解决在Linux下安装Oracle时的中文乱码问题 操作系统:Red Hat Enterprise Linux 6.1数据库:O ...

  3. [转载] linux下打开windows txt文件中文乱码问题

    原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在win ...

  4. linux下打开windows txt文件中文乱码问题 (转载)

    转自:http://blog.csdn.net/imyang2007/article/details/7448177 在linux操作系统下,我们有时打开在windows下的txt文件,发现在wind ...

  5. Linux 下 zip 文件解压中文乱码

    windows下的中文文件名拷贝到ubuntu下面以后,文件名直接变成乱码,原因为windows下的文件名以GBK编码,而Ubuntu下的文件 名为utf-8编码 1. ubuntu下有一个工具可以用 ...

  6. linux下javadoc生成文件出现中文乱码

    javadoc命令的正确使用姿势 javadoc -d apidoc -windowtitle Testing -doctitle 'The API of javadoc' -header 'My c ...

  7. Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)

    Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) http://blog.csdn.net/helonsy/article/details/7207497 ...

  8. Linux下通过ODBC连接sqlserver

    Linux下通过ODBC连接sqlserver 1.需求: 最近有个需求就是要在linux下连接(可以执行sql语句)sqlserver 2.环境 操作系统:  Centos6.5 数据库:     ...

  9. linux下列出所有连接到你的Server的IP地址

    linux下列出所有连接到你的Server的IP地址 最近要做一个检查所有连接到主机的IP的脚本,google到一篇老外写的文章 <List all IP addresses connected ...

随机推荐

  1. C# 多线程处理相关说明: WaitHandle,waitCallback, ThreadPool.QueueUserWorkItem

    class TestThread { static void Main() { //使用WaitHandle静态方法阻止一个线程,直到一个或多个同步对象接收到信号 WaitHandle[] waitH ...

  2. EntityFramework Code First 优化-IIS 8的第一次优化请求配置

    首先需要在Window中添加Application Initialization Application Initialization 在IIS中配置Application Pool 编辑Applic ...

  3. Codeforces Round #335 (Div. 2) D. Lazy Student 构造

    D. Lazy Student Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/606/probl ...

  4. asp.net负载均衡方案[转]

    在前面的几篇文章中,主要谈到了在Discuz!NT中的跨站缓存数据,数据库负载均衡.但如果要实现将产品分布式布置到若干机器,组成集群来共同支撑起整个业务的话,还是有一定问题的(后面会有所介绍).下面先 ...

  5. QoS 测量 (目标,方法,协议)

    本文翻译自ITU-T的Technical Paper:<How to increase QoS/QoE of IP-based platform(s) to regionally agreed ...

  6. Why the framework uses ruby instead of perl?[转]

    During the development of the framework, the one recurring question that the Metasploit staff was co ...

  7. WIN7 下 Qt Creator 安装 QWT

    WIN7 下 Qt Creator 安装 QWT 环境:WIN7 +QT Creator2.6.2 1.下载QWT源代码 qwt-6.1-rc3.zip 2 编译QWT  open projects- ...

  8. 利用<JavascriptSerializer类> 进行Json对象的序列化和反序列化

    1. 首先, JavascriptSerializer类所在名空间: using System.Web.Script.Serialization; 2. 相关的3篇文章, 标记下: 使用JavaScr ...

  9. Conversions

    Problem Description Conversion between the metric and English measurement systems is relatively simp ...

  10. A+B Coming

    Problem Description Many classmates said to me that A+B is must needs.If you can’t AC this problem, ...