从 CSV 文件创建 php 数组时的非英语语言问题

Posted

技术标签:

【中文标题】从 CSV 文件创建 php 数组时的非英语语言问题【英文标题】:non-English language issue in creating php array from CSV file 【发布时间】:2021-11-20 13:55:34 【问题描述】:

php 中,我试图以这种方式从 CSV 文件创建一个数组。

// CSV file:
$csv = array_map('str_getcsv', file("$uploadPath/$myFile"));

当然它对我有用,但我必须修复。如果我的 CSV 文件中有非英语语言字符,那么这些字符在 PHP 中显示不正确。这意味着它显示问号而不是显示原始字符。

这是$csv数组的输出:

Array
(
    [0] => Array
        (
            [0] => SISP-0002
            [1] => Harpic Floral 500ml
            [2] => ???????? ??????? 500ml 
            [3] => 4792037107765
        )
)

更新:

我已经在页面标签内设置了字符集,如下所示。

<meta charset="utf-8">

我还用 unicode(UTF-8) 保存了我的 CSV 文件

谁能告诉我解决这个问题的可能解决方法是什么。

【问题讨论】:

csv文件的字符编码是什么? @JGNI 用字符集设置更新了我的问题 【参考方案1】:

这似乎是 UTF-8 和 php UTF-8 all the way through 的权威问题和答案

【讨论】:

以上是关于从 CSV 文件创建 php 数组时的非英语语言问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何把数据写入JSON文件并在另一PHP文件读取JSON数据?

php 使用SplFileObject读取CSV文件。从CSV文件定义标题或管理标题行。返回数组中的行,标题值为

通过 PHP 导出为 CSV

PHP 验证字符串中的非英语字符

Angular 2 - 从嵌套数组创建 CSV 文件

PHP:从二维数组中删除数组