1

MSSQL ドライバー ( $db['default']['dbdriver']) で CodeIgniter を使用しています。

リモートデータベースに接続しています。ホスト名には、サーバーの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 に答える