CSV 文件不断更改使用 php 生成的 CSV 文件上的数字?
Posted
技术标签:
【中文标题】CSV 文件不断更改使用 php 生成的 CSV 文件上的数字?【英文标题】:CSV file keeps changing numbers on generated CSV file using php? 【发布时间】:2013-05-29 07:43:49 【问题描述】:我正在 mysql 表中使用 php 生成 CSV 文件转换。
信用卡号在mysql数据库中显示如下44445959636345。当我将 mysql 表转换为 csv 文件时,它没有显示正确的信用卡号,就像这样 4.4446E+13
我的sql查询是$this->dbutil->csv_from_result($query);
CSV 文件更改所有卡号!例如,如果您的卡
44445959636345
而不是如上所示显示... CSV 将其更改并使其显示为:
4.4446E+13
如何解决这个问题,请指导我。
【问题讨论】:
怎么查看csv文件,也可能是编辑器(即excel)的问题 您在数据库中存储 cc 号码? 信用卡号包含 16 个字符,但 excel 单元格仅接受 15 个字符,因此只有格式更改。在 excel 中,如果我单击 4.4446E+13 数字,它会显示 44445959636345 完整详细信息,但我需要直接显示 44445959636345。 您是否尝试将数字放入 csv 中的公式中,例如=44445959636345
?
信用卡号对于 MS Excel 或 PHP 中的 32 位整数值来说太长了,因此需要将其视为字符串......并且(给自己的备忘录)永远不要信任将纯文本 cc number 存储在 Excel 文件中的人,尤其是用于下载时
【参考方案1】:
问题是:该函数将信用编号称为整数。你要做的就是让它作为文本引用它。
【讨论】:
【参考方案2】:如果您想在 excel 中查看 csv 文件,您可以在数字前面加上一个单引号,这样它将显示为文本。 警告这意味着您需要在将这样的 csv 文件导入数据库时删除该引用。这可以通过 php 或 sql 子字符串函数来完成。 所以而不是 44445959636345 输出 '44445959636345 到您的 csv 文件。
【讨论】:
以上是关于CSV 文件不断更改使用 php 生成的 CSV 文件上的数字?的主要内容,如果未能解决你的问题,请参考以下文章
如何在用电子表格(),php生成的.csv文件中显示带小数的整数?