在数组上获取带有重音的关联索引



我尝试从数组中获取数据,但它无法识别acents。

public function model(array $row)
{
return new Dato([
'name'     => $row['nombre_completo'],
'pedido'        => $row['curso_de_interes'], 
'hora_contacto'  => $row['horario_de_contacto'],
'email'    => $row['correo_electrónico'], 
'telefono'     => $row['número_de_teléfono'],
]);
}

数据来自CSV存档,问题出在$row['correo_electrónico']和$row['número_de_teléfono']。它不认识德阿森特斯。

我尝试使用"correo_electr\u00f3nico"而不是"correo_electrónico"但仍然失败

更新

我只是忽略了De Acents,它工作正常

我使用"correo_electronico"而不是"correo_electrónico">

多谢

这看起来像一个编码问题,您需要弄清楚您在代码中使用了什么编码以及行索引中使用了什么。 然后,您必须转换编码以符合您的需要。

尝试

foreach($row as $key => $value) echo $key . ' is encoded as ' . mb_detect_encoding($key) . " <BR>n";
echo 'your code is encoded as ' . mb_detect_encoding('número_de_teléfono');

如果mb_detect_encoding()不起作用,您可以尝试使用iconv_get_encoding()

然后,您可以将编码转换为所需的mb_convert_encoding()iconv()

最新更新