我正在尝试使用PHP读取XLSX文件,确切地说是使用gneustaetter/XLSXReader。然而,这些XLSX文件由不同公司使用不同的软件生成。因此,我想检查它们是否具有正确的编码,并且总是只找到UTF-8。因此,我的问题如上所述: XLSX文件是否根据定义采用UTF-8编码?或者是否存在可能破坏我正在使用的导入脚本的异常情况?
假设它总是UTF-8可能存在风险。最好按照XML头中XML描述的方式进行操作。在我的经验中,Windows-1252编码的数据总是在你最不希望出现的时候出现。你可以更仔细地检查XLSX规范以了解更多信息。这里有一个与Windows-1252编码的XLSX文件相关的Chromium bug,因此这些似乎在野外存在。可能由于LibreOffice等软件变得越来越流行,那些可能没有最强大的XLSX支持的旧版本可能会与您的代码交互。除非您有拒绝无效编码的具体理由,否则请尽可能通融。严格来说,JSON是UTF-8。XLSX似乎是XML,但编码并不固定。UTF-8似乎只是默认约定。