0


我在 php 读取 dbase (dbf) 文件时遇到了奇怪的问题。

我的开发环境

  • 操作系统:赢 7
  • php版本:5.3.8
  • 网络服务器:apache 2.2

我的生产环境

  • 操作系统:Centos 5.5
  • php版本:5.3.12
  • 网络服务器:nginx 1.2.1

这两个环境都使用标准的 php dbase 扩展(unix:http ://pecl.php.net/package/dbase,win:http : //downloads.php.net/pierre/)。

我有 dbf 文件,其中一列是浮点数(10,2),其值为 26.14。当我在我的开发环境中读取此文件时,它显示正确(“26.14”),但在生产环境中执行完全相同的操作,它只输出“26”。代码如下:

<?php
$db = dbase_open($path_to_dbf, 0);
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++)
{
   $row = dbase_get_record_with_names($db, $i);
   echo '<pre>', var_dump($row), '</pre>'; 
}
?>

我真的很困惑,不知道从哪里开始寻找解决这个问题的方法。有人可以帮忙吗?

4

1 回答 1

1

我知道这是一个老问题,但也许它会帮助某人。

可能你有一个“,”作为分隔符,而不是“。”

我有这个问题,这有帮助:

setlocale(LC_NUMERIC, 'C');
于 2014-04-29T10:50:19.133 回答