Como Usar Between Entre Duas Colunas de Data no Laravel
Trabalhar com intervalos de datas é uma necessidade comum em aplicações web, especialmente em sistemas que lidam com eventos, agendamentos... Leia mais
Desenvolvedor de Software
Quando lidamos com arquivos de texto, a codificação de caracteres é um aspecto fundamental para garantir que os textos sejam exibidos corretamente. No entanto, em muitos casos, especialmente em sistemas legados, pode ser necessário converter arquivos de uma codificação moderna, como UTF-8, para ANSI (ISO-8859-1). Este artigo explica como fazer isso usando PHP, com exemplos práticos.
No caso de arquivos sem caracteres acentuados ou especiais, como “Este e um texto de exemplo”, ambos os formatos podem ser exibidos de forma idêntica em editores simples como o Bloco de Notas.
Se você criar um arquivo de texto sem caracteres acentuados, como:
$content = "Este e um texto de exemplo. Sem caracteres especiais!";
Ele será salvo corretamente em UTF-8, mas parecerá “igual” ao ser visualizado como ASCII, porque os caracteres usados pertencem à faixa básica compatível entre UTF-8 e ASCII.
Porém, ao lidar com arquivos que precisam estar especificamente em ANSI, a conversão é necessária.
O seguinte script gera um arquivo .txt em UTF-8 e o converte para ANSI:
<?php
function generateUtf8File($filePath, $content)
{
// Gera um arquivo UTF-8
file_put_contents($filePath, $content);
echo "Arquivo UTF-8 gerado em: $filePath\n";
}
function convertToAnsi($inputFile, $outputFile)
{
// Verifica se o arquivo de entrada existe
if (!file_exists($inputFile)) {
throw new Exception("O arquivo de entrada não foi encontrado: $inputFile");
}
// Lê o conteúdo do arquivo
$content = file_get_contents($inputFile);
// Converte o conteúdo para ANSI (ISO-8859-1)
$ansiContent = iconv("UTF-8", "ISO-8859-1//IGNORE", $content);
// Grava o conteúdo convertido no arquivo de saída
file_put_contents($outputFile, $ansiContent);
echo "Arquivo convertido para ANSI e salvo em: $outputFile\n";
}
// Caminhos dos arquivos
$utf8File = 'arquivo_utf8.txt';
$ansiFile = 'arquivo_ansi.txt';
// Conteúdo do arquivo UTF-8
$content = "Este é um texto de exemplo. Sem caracteres especiais!";
// Gera o arquivo UTF-8
generateUtf8File($utf8File, $content);
// Converte para ANSI
try {
convertToAnsi($utf8File, $ansiFile);
} catch (Exception $e) {
echo "Erro: " . $e->getMessage() . "\n";
generateUtf8File:
.txt com codificação UTF-8.convertToAnsi:
iconv para converter o conteúdo de UTF-8 para ANSI (ISO-8859-1).
Arquivos sem caracteres especiais são exibidos corretamente porque:
Trabalhar com intervalos de datas é uma necessidade comum em aplicações web, especialmente em sistemas que lidam com eventos, agendamentos... Leia mais
ROW_NUMBER e Outras Funções para Gerar Resultados Sequenciais no PostgreSQLQuando trabalhamos com bancos de dados, muitas vezes precisamos gerar números sequenciais para nossos resultados. Isso pode ser útil para... Leia mais
Recentemente enquanto utilizava o Linux Mint 21 Vera tive uma série de problemas ao instalar o PGAdmin 4 e numa... Leia mais
Laravel é um dos frameworks PHP mais populares devido à sua simplicidade, elegância e ferramentas poderosas que aceleram o desenvolvimento.... Leia mais