Conjuntos de caracteres UTF-8
Base64 codifica bytes, não caracteres. UTF-8 primeiro converte caracteres em um ou mais bytes; caracteres chineses e emoji usam vários. Uma incompatibilidade produz mojibake ou erros de decodificação.
Escolher um charset explícito
Documente UTF-8 em cada fronteira de navegador, API e banco de dados. Decodifique Base64 para bytes primeiro e só depois interprete esses bytes como UTF-8.
Detectar incompatibilidade
Se ASCII funciona, mas texto acentuado falha, verifique o charset declarado, conversões de quebra de linha e se o produtor usou Base64 padrão ou Base64URL. Compare tamanhos em bytes.
Teste prático
Codifique café / 世界 / 🚀 com o codificador de texto, depois decodifique e compare os caracteres originais.