我最近接手了一个 PHP/CakePHP 项目。现在我想将框架从 CakePHP 1.3 更新到 CakePHP 2.2。数据库服务器是 MS SQL Server(版本 10.50)。我还尝试连接到 SQL Sever 版本 9.0 SP1。同样的问题。应用程序连接到数据库服务器,可以很好地读取文本数据。
如果我想读取 blob/binary/image 列,就会出现问题。这似乎是一个解码问题,但我不知道它可能发生在哪里。在 CakePHP 1.3 版本中,我看到类似
\x2 \x0\x1xÚmŽÁN„0\x10†_¥öN...
在我得到的 CakePHP 2.2 版本中
0220000178DA6D8EC14E8430 ...
存储的项目是一个压缩的 XHTML 文件,附加了一些描述标签。它是由另一个应用程序编写的。
我已将应用程序编码设置为 UTF-8,并尝试在数据库配置中设置 encoding='utf8' 字符串(即使它应该只适用于 MySQL)。我已经更新了 Microsoft 的 Native SQL Client。我正在使用带有 PHP 5.3.8 的 XAMPP 1.7.7 安装。我也尝试过使用 XAMPP 1.8 和 Microsoft 的新 SQL-PDO 驱动程序进行不同的安装。没有任何帮助。
我不知道这个问题来自哪里,即使我怀疑 PDO 层/PHP 驱动程序。
该应用程序在 CakePHP 1.3 上运行良好。
感谢您的帮助/时间。