使用strtolower的accents和UTf-8php

使用strtolower的accents和UTf-8php,php,encoding,xlsx,Php,Encoding,Xlsx,我读了一篇带有simpleXlsx解析器插件的XLSX 我的excel第一行是标题,我需要阅读它 例如,在我的excel中,第一行有3列标题名称: Columns_1 Columns_with_accent_à Columns_3 第二列有a重音:a 我的编辑器处于UTF-8模式,我的php页面设置了UTF-8编码,我在页面上不使用任何html(是否仅在php中导入页面),但我得到了以下var转储: <?php header('Content-type: text

我读了一篇带有simpleXlsx解析器插件的XLSX

我的excel第一行是标题,我需要阅读它

例如,在我的excel中,第一行有3列标题名称:

Columns_1      Columns_with_accent_à       Columns_3
第二列有a重音:
a

我的编辑器处于UTF-8模式,我的php页面设置了UTF-8编码,我在页面上不使用任何html(是否仅在php中导入页面),但我得到了以下var转储:

<?php

header('Content-type: text/html; charset=UTF-8');

$xlsx = SimpleXLSX::parse("file.xlsx");

foreach( $xlsx->rows() as $indexrow => $r ) {   

        if ( $indexrow == 0 ) {

            // HEADER

            var_dump(strtolower($r[1])); //second column

            //output WRONG:     Columns_with_accent_�

        }
}

?>


有没有想到斯特洛把我的绳子弄断了?如果没有它,它工作得很好

查看有关使用的注释和编辑(未显示在中),手册说明:

请注意,“字母”由当前区域设置决定。这意味着,例如,在默认的“C”语言环境中,诸如umlaut-A(Ä)之类的字符将不会被转换

另一方面,显示:

与strtolower()不同,“字母”由Unicode字符属性决定。因此,此函数的行为不受区域设置的影响,它可以转换具有“字母”属性的任何字符,例如A-umlaut(Ä)


查看有关使用的注释和编辑(中未显示),手册说明:

请注意,“字母”由当前区域设置决定。这意味着,例如,在默认的“C”语言环境中,诸如umlaut-A(Ä)之类的字符将不会被转换

另一方面,显示:

与strtolower()不同,“字母”由Unicode字符属性决定。因此,此函数的行为不受区域设置的影响,它可以转换具有“字母”属性的任何字符,例如A-umlaut(Ä)


.xlsx文件的编码是什么?@FunkFortyNiner在哪里可以找到此信息?您可能可以在代码编辑器中打开该文件以查看其保存方式。可能还有另一种方法,但我现在想不起来了。@FunkFortyner ok用记事本++打开,我看到MACINTOSH(CR)-如果出于某种原因,我的浏览器阻止我包含
在谷歌搜索中。我会试着用谷歌搜索一下,看看你能找到什么。我很想帮你,但现在不行。尝试保存该xlsx文件的副本,然后将其另存为UTF-8,然后查看返回的结果。该.xlsx文件的编码是什么?@FunkFortyNiner我可以在哪里找到此信息?您可能可以在代码编辑器中打开该文件以查看其保存方式。可能还有另一种方法,但我现在想不起来了。@FunkFortyner ok用记事本++打开,我看到MACINTOSH(CR)-如果出于某种原因,我的浏览器阻止我包含
在谷歌搜索中。我会试着用谷歌搜索一下,看看你能找到什么。我很想帮你,但现在不行。尝试保存xlsx文件的副本,然后将其另存为UTF-8,然后查看您得到的结果。