Configurando encoding em arquivos de texto no AWS S3

  AWS

Tive esse problema de encoding/charset com arquivos HTML publicados no AWS S3, mas li que arquivos de texto também podem apresentar isso.

O sistema de publicação desse blog, envia arquivos para o AWS S3, mas não tive esse problema. Isso aconteceu apenas por upload via interface web.

Para acessar essa propriedade é preciso:

  • Estar no bucket do que contenha o objeto;
  • Clicar no objeto;
  • Ir em propriedades;
  • Clicar em metadata;
  • Selecione Content-Type;
  • Depois clique em editar.

Para fazer essa correção e os arquivos serem exibidos no navegador de forma correta, pode seguir os passos abaixo.

O Content-Type padrão do upload é:

text/html

Então mude para:

text/html; charset=utf-8

É muito importante que o charset do arquivo seja UTF-8 também, pode chegar isso com:

  • Linux:
$ file -i <arquivo>
  • macOS
$ file -I <arquivo>

Nota: Se o arquivo não contiver acentuação, ele pode estar com charset us-ascii.

Referência