problem with accent when importing text file via php and write to mysql

0

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);
    
asked by anonymous 09.09.2017 / 03:24

2 answers

1

I do not know how you are uploading these .txt files but have you tried php header?

header("Content-type: text/html;charset=utf-8");
    
11.09.2017 / 20:17
0

I usually use this script to redirect in PHP

  /**
  * Função para redirecionar url's
  *
  * @param string $link - Url a ser redirecionada
  *
  */
  static function redireciona($link) {

    if ($link == -1){
      echo " <script>history.go(-1);</script>";
    }else{
      echo " <script>document.location.href='$link'</script>";
    }

  }
    
13.09.2017 / 21:59