laravel - Maatwebsite/Laravel-Excel Import 将特殊字符转换为数字 0
问题描述
我有一个 CSV 文件,其中一些行的文本/单词包含特殊字符,例如ñ,
发生的情况是,当我尝试导入 CSV 文件时,带有上述字符或类似字符的单词将被转换为0。
我正在使用ToModel
use Maatwebsite\Excel\Concerns\ToModel;
要重现这一点,只需尝试在 CSV 文件的一个单元格中放置一个特殊字符,然后像这样导入它:
Excel::import(new CsvImport, request()->file('file'));
输出:结果插入的具有特殊字符的数据将存储为 0
注意:直接从Form添加数据不会将特殊字符转换为0,仅在通过导入上传CSV时
解决方案
在您的配置中,将“use_bom”设置为“true”
'csv' => [
'delimiter' => ',',
'enclosure' => '"',
'line_ending' => PHP_EOL,
'use_bom' => true,
'include_separator_line' => false,
'excel_compatibility' => false,
],
推荐阅读
- vb.net - CAML 查询未使用 vb.net VS2019 和 Sharepoint 在线检索所有字段
- sql - 用 PS 连接 SQL,找不到驱动器
- .htaccess - .htaccess 用于“/shop”子目录时的根文件夹!冲突的 htaccess 文件
- asp.net-mvc - 在 One Login 身份验证授权类型第 2 部分请求中获取 401 未经授权的错误
- codesys - 数组作为接口属性 CoDeSys 的类型
- caching - Bootstrap 表硬刷新删除一些 Cookie 但不删除其他
- html - 如何输入 [type=date],文本居中且无图标?
- javascript - 使用构造函数类和动态变量名(纯 JS)将 HTML 表单输入存储为对象
- python - 在vs代码上运行时python中的F字符串错误
- c# - 如何统一为 2 个按钮制作脚本