encode sheetnames and cells maybe more good
public function encode($txt){ $arr=array('EUC-CN' => 'GB2312','CP936' => 'GBK','SJIS-mac'=>'MacJapanese','SJIS-Mobile#DOCOMO'=>'SJIS-DOCOMO','SJIS-Mobile#KDDI'=>'SJIS-KDDI','SJIS-Mobile#SOFTBANK'=>'SJIS-SOFTBANK','UTF-8-Mobile#DOCOMO'=>'UTF-8-DOCOMO','UTF-8-Mobile#KDDI-B'=>'UTF-8-KDDI','UTF-8-Mobile#SOFTBANK'=>'UTF-8-SOFTBANK','ISO-2022-JP-MOBILE#KDDI'=>'ISO-2022-JP-KDDI'); $encode = mb_detect_encoding($txt, ['ASCII', 'UTF-8', 'GB2312', 'GBK', 'BIG5']); if(array_key_exists($encode, $arr)) $encode = $arr[$encode]; return mb_convert_encoding($txt, 'UTF-8', $encode); } //sheetnames and cells //sheetnames: 'name' => $rec_name, //cells: $s['cells'][$i][$j ];
No internal xls encoding is latin1 and/or UTF16LE default output encoding is UTF-8 just write to file extracted rows and check encoding.
I think you have bad generated files, just add your code in your local version and disable autoupdate by composer mb_detect_encoding will slow down when fetching data