phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式

时间:2022-09-18 21:50:06

开始也尝试自己配置php安装环境,找到一个详细的百度经验http://jingyan.baidu.com/article/154b46315242b328ca8f4101.html,前面有问题也一一去解决了,但最后还是死在Apache启动失败上(估计也是端口问题)。

然后选择了使用phpstudy集成环境。在phpstudy连接sql server 2008数据库这个问题上看了不少帖(大多数是直接写php连接sql server数据库的操作,也是乱的很),这里结合我的操作过程总结了一下:

  • 确保phpstudy成功启动,在PHP扩展里勾选php_sqlsrv和php_pdo_sqlsrv两项;

phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式

  • 安装Microsoft SQL Server 2008 Native Client,这一步很重要。
  • 测试,在根目录添加index.php文件,代码内容如下:
  •   phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式
     1 <?php
    2 2
    3 3 $serverName = "localhost"; //数据库服务器地址
    4 4
    5 5 $uid = "sa"; //数据库用户名
    6 6
    7 7 $pwd = ""; //数据库密码
    8 8
    9 9 $connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"填数据库名称");
    10 10
    11 11 $conn = sqlsrv_connect( $serverName, $connectionInfo);
    12 12
    13 13 if( $conn == false)
    14 14
    15 15 {
    16 16
    17 17 echo "连接失败!";
    18 18
    19 19 die( print_r( sqlsrv_errors(), true));
    20 20
    21 21 }
    22 22 else{
    23 23 echo "连接成功!";
    24 24 }
    25 25 ?>
    View Code

     

 

  2016年8月1日补充:

  后续再次配置链接时,出现其他问题:

  • 首先,是sqlsrv的扩展无法实现,这个和phpstudy的设置有关,我反复试了发现在“非服务模式”下,成功概率高一些;

phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式

  • 而面对启动时端口被占用的情况,在进行端口检测时,使用bat检测,再根据PID,在任务管理器中,关闭相应程序,重启phpstudy,选择“非服务模式”,一般来说就可以在,phpinfo中看到开启了sqlsrv的扩展了;

phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式   phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式

phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式

  • 我的php版本是5.3,使用的dll文件如下图,接下来重启phpstudy,错误解决;

phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式

  • 补充一点,在编写php过程中发现,sql server调出来的数据是gb2312,而我前端写有php的文件是utf-8格式,数据输出,常常出现乱码,这里我对数据进行了转换,下图是转换函数,在数据输出时调用;

phpstudy连接SQL Server 2008数据库 以及 php使用sql server出现乱码解决方式