1

我将 CodeIgniter 与 MSSQL 驱动程序 ( $db['default']['dbdriver']) 一起使用。

我正在连接到远程数据库。在主机名中,我有服务器的 IP。数据库排序规则是SQL_Latin1_General_CP1_CI_AS.

问题是当我获取数据时,希伯来语显示为问号。我尝试了各种字符集、iconv 和 mb 转换的组合,但似乎都不起作用。

我认为这是连接字符串中的内容,但是使用 MSSQL 驱动程序没有连接字符串。当我使用 ODBC 驱动程序尝试它时,它工作正常(ODBC 的设置在我的本地机器上工作,但不是从安装了 MSSQL 扩展的服务器上工作,因此我使用的是 MSSQL 驱动程序)。

任何帮助将不胜感激。

我已经切换到 PDO,现在有时我会得到:

Fatal error: Cannot access property started with '\0' in /var/www/clients/client1/web2/web/cliqa/ci/system/database/drivers/pdo/pdo_result.php on line 176

我想它发生在连接失败时。有时它会正确显示(但带有问号),有时我会收到此错误。

4

2 回答 2

1

解决方案:

被朋友解决了,不得不对服务器的配置做点什么:

cat /etc/freetds.conf

创建一个新实例

[annoyingRemoteHostSrv]
    host = IP_ADDRESS
    port = 1433 
    tds version = 8.0
    client charset = UTF-8

希望它可以帮助任何人;)

于 2013-01-01T00:37:40.947 回答
0

尽可能使用 Unicode 数据类型 - nvarchar. 因此,无论源代码页如何,服务器排序都不会影响您的数据。

于 2012-12-29T15:25:05.737 回答