簡體   English   中英

PHP-Firebird(未定義ibase_connect = CHARACTER SET iso-8859-1)

[英]PHP-Firebird (ibase_connect = CHARACTER SET iso-8859-1 is not defined)

我是關於火鳥的新手。 我正在嘗試在php和firebird之間建立連接。 這是代碼:

$host='192.168.12.1:D:/DB/ALFABETA.FDB';
$username='john.doe';
$password='123456789';
$database='ALFABETA';

$dbh=ibase_connect($host,$username,$password) or die (ibase_errmsg());

$sth=  ibase_query($dbh) or die (ibase_errmsg());

但是,當我在瀏覽器中運行代碼后,警告語句就會出現。 救命。 我該做什么 ?

警告聲明

警告:ibase_connect():附加或創建數據庫字符集錯誤的參數在第7行的/var/www/fortrainingcrud/connect_db.php中未定義,請附加或創建數據庫字符集iso-8859-1。 1未定義

我終於得到了答案! 這里是 :

  1. 在php.ini中,我添加extension=php_interbase.dll
  2. 重新啟動Apache服務
  3. 我之前編寫的代碼效果很好

您沒有設置連接字符集,但是卻收到錯誤消息。 這表明PHP正在從其他地方獲取值,而第一個候選對象是ibase.default_charset指令。 您可以通過var_dump(ini_get('ibase.default_charset'));查看其當前值var_dump(ini_get('ibase.default_charset')); 或者只是通過運行phpinfo()

您可以自己更改指令,甚至更好的是,在ibase_connect()處指定編碼,這樣您的代碼就不會隨服務器配置而隨機中斷。

關於iso-8859-1 ,似乎Firebird的適當語法是ISO8859_1 (假設您確實需要該編碼)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM