I'm having a terrible struggle to get data from a txt file with accented string.
It turns out that all accented words are not written to in the table. See below the blank column where you should have recorded this information: Related searches
ThetableinquestioniscreatedinInnoDBandUTF-8
WhenIopenthefile,Istillusethis:$rows=utf8_encode($rows)|
Well,whatIrealized:IfIopenthetextfileinNotepad++andconveteittoutf-8WITHOUTGOOD,bingo,myproblemsareover.
ButIcannotalwaysaskmyclientstoopenthetxtandconvertitbeforeimportingitintothesite...it'sadailyroutineanditcreatesacertainamountofdiscomfort.
Ithoughtoftryingtoopenthefileandconvertittoutf8withoutBOMdirectinPHPortreatthedataatthetimeofimport.
Cansomeonegivemealight?
Here'smycode:
//AaberturadoArquivo$arquivo=fopen($_FILES['arquivo']['tmp_name'],'r');//echomb_detect_encoding($arquivo);exit;while(!feof($arquivo)){$linhas=fgets($arquivo);$linhas=utf8_encode($linhas);//echomb_detect_encoding($linhas);exit;$dados=explode(";", $linhas);
if ($linhas != "\n" && $linhas != ""):
$conteudo = array();
$conteudo[] = [
'funcionario_cargo' => $dados[0],
'funcionario_matricula' => $dados[1],
'funcionario_nome' => Check::Name($dados[2]),
'funcionario_title' => $dados[2],
'funcionario_cpf' => $dados[3],
'funcionario_data_nascimento' => $dados[4],
'funcionario_portaria' => $dados[5],
'funcionario_data_beneficio' => $dados[6],
'funcionario_data_beneficio_publicacao' => $dados[7],
'funcionario_situacao' => $dados[8],
'funcionario_regra' => $dados[9],
'funcionario_regramunicipal' => $dados[10],
'funcionario_valor' => $dados[11],
'funcionario_reajuste' => $dados[12],
'funcionario_processo' => $dados[13],
'funcionario_data_falecimento' => $dados[14],
'funcionario_data_termino_pensao' => $dados[15],
'funcionario_views' => 0,
'funcionario_status' => 1,
'funcionario_date' => date('Y-m-d H:i:s'),
'funcionario_author' => 1,
];
$Create->ExeCreateMulti(DB_FUNCIONARIO, $conteudo);
//var_dump($Create);
//$jSON['content'] = "<b>Arquivo Importado com Sucesso!";
endif;
}
fclose($arquivo);