PHP、ODBC 和 nvarchar

我在使用 PHP 的 ODBC 函数查询 SQL Server 2005 数据库时偶然发现了一个奇怪的错误。当我遇到以下错误时,我正在执行一个基本的 SELECT 语句来获取某些内容的描述:

Warning: odbc_exec() [function.odbc-exec]: SQL error: [unixODBC][FreeTDS][SQL Server]Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier., SQL state in SQLExecDirect in /home/web/file.php on line 4

事实证明,PHP ODBC 函数很难提取“nvarchar”数据。这是获取 nvarchar 数据的丑陋解决方案:

SELECT CAST(CAST([DetailedDescription] AS VARCHAR(8000)) AS TEXT) AS ad FROM mytable WHERE active = 1

不漂亮,但重要的是让它发挥作用。

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏