私はApache 2.2とPHP 5.4をインストールしたLinuxサーバーDebian 6を持っています。 アプリケーションをMS SQL Server 2008に接続する必要があります。Linux上のPHP 5.4:MS SQL Server 2008に接続するには?
私のアプリケーションでは、Zend Framework 1.11とcharset UTF-8を使用しています(世界各地のユーザーがいます。言語)。
FRIST、Linux用のMicrosoft SQL Server ODBCドライバを使用しようとしました。 それは言うだけではRed Hatのためですが、私はインストールするには、以下の手順に従ってください。
はhttp://www.codesynthesis.com/~boris/blog/2011/12/02/microsoft-sql-server-odbc-driver-linux/
私は接続して、その上にいくつかの選択を行うが、私はそれにデータを挿入することができませんでしたでした。 pdo文にパラメータをバインドする際に問題が発生しました。次のような
挿入データは動作しませんでした:
$stmt = $conn->prepare("insert into mar_regions (name) values (:name)");
$resp = $stmt->execute(array(':name' => $param));
しかし、私はこのように使用している場合、それが動作します:
$stmt = $conn->prepare("insert into mar_regions (name) values ('".$param."')");
$resp = $stmt->execute();
私のアプリケーションので、だから私は、このドライバからあきらめましたこの場合、ZF 1.11は動作しません。
私は、FreeTDS用のPDOドライバを使用しようとしています。これは正常に動作し、私はZF 1.11アプリケーションで使用できます。
しかし、もう一つ問題があります。文字セットです。
$stmt = $dbh->prepare("insert into mar_teste (name) values (N'ンから初・配信 € зеленый банан ÀÀÀÀáááááá')");
$resp = $stmt->execute();
しかし、私のZF 1.11上で、私はできません: 私は、UTF-8、このようなデータVARCHARのinsted、UTF-8を使用NVARCHARを使用するために私のテーブルを変更するには、私のfreeTDS.confを設定して挿入することができquerysにこの 'N'属性を渡してください!だから私のアプリケーションはまだ動作しませんでした。
ご覧のとおり、私はすべてを試しました。
私の質問はです:MS SQL Server 2008でZF 1.11 charset UTF-8を使用してLinuxから接続する方法は?