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

时间:2016-07-15 02:52:17

标签: php firebird firebird2.5

关于火鸟的新消息。我正在尝试连接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():附加或创建数据库时出现错误参数   字符集iso-8859-1未定义   /var/www/fortrainingcrud/connect_db.php在第7行坏参数上   附加或创建数据库CHARACTER SET iso-8859-1未定义

2 个答案:

答案 0 :(得分:1)

我终于得到了答案!这是:

  1. 在php.ini中,我添加extension=php_interbase.dll
  2. 重新启动Apache服务
  3. 我之前写过的代码,效果很好

答案 1 :(得分:0)

您没有设置连接字符集,但是您收到错误信息。这表明PHP从其他地方获取值,第一个候选者是ibase.default_charset指令。您可以使用var_dump(ini_get('ibase.default_charset'));或仅通过运行phpinfo()来查看其当前值。

您可以自己更改指令,或者更好的是,在ibase_connect()指定编码,这样您的代码就不会随机中断,具体取决于服务器配置。

关于iso-8859-1,似乎Firebird的合适语法是ISO8859_1(假设您确实需要这种编码)。