0
I’m having a terrible fight to be able to record data obtained from a string-accentuated txt file.
It turns out that all accented words are not recorded in the table. See below the blank column, where you should have recorded this information: Compulsory retirement
The table in question is created in Innodb and UTF-8
When I open the file, I still use this: $lines= utf8_encode($lines)|
Well, what did I realize: If I open the text file on Notepad++ and check it for utf-8 NO GOOD, bingo, my problems are over.
But I can’t always ask my customers to open txt and convert before importing on the site... it is a daily routine and it generates certain discomfort such a procedure.
I thought to try to open the file and convert it to utf8 without BOM direct in PHP or treat the data at the time of import.
Someone can give me a light?
Here is my code:
// A abertura do Arquivo
$arquivo = fopen($_FILES['arquivo']['tmp_name'], 'r');
//echo mb_detect_encoding($arquivo); exit;
while(!feof($arquivo) ) {
$linhas = fgets($arquivo);
$linhas= utf8_encode($linhas);
//echo mb_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);
I use it like this:;
<meta charset="UTF-8">
I already have a function for the header:if (isset($_SESSION['userLogin']) && isset($_SESSION['userLogin']['user_level']) && $_SESSION['userLogin']['user_level'] >= 6):
 header('Location: dashboard.php?wc=home');
endif;
Can I create another header??? Or adapt to meta???– Jardel
Swap this redirect header for a js or html script and test with the header I passed you
echo "<script>location.href='dashboard.php?wc=home';</script>";
– FernandoJunior
Show @Fernandojunior It worked, I changed the redirect and includes the header that I passed and worked. Thank you very much! After 10 days and many forums, I got the solution.
– Jardel