Eu posso reproduzir o problema.
Motivo: detecção automática de codificação de arquivo.
Seu arquivo é codificado na tabela de códigos padrão de 8 bits, ou seja, Windows-1252 (conforme indicado no seu comentário abaixo da pergunta), uma das codificações ANSI de 8 bits, com 256 caracteres possíveis. Mas parece que o Notepad ++ está interpretando o arquivo que contém traços como se estivesse na codificação Shift-JIS . (Essa codificação pode ser vista na barra de status, no canto inferior direito da janela principal do Notepad ++, quando o problema ocorre.) Portanto, o Notepad ++ interpreta caracteres com um valor ASCII maior que 127 encontrado no arquivo como caracteres japoneses.
Solução: Altere a codificação do seu arquivo para UTF-8 (ou outra codificação adequada).
- Abra seu arquivo.
- Usando o menu Codificação> Conjunto de caracteres> Europa Ocidental> Windows-1252, alterne para a codificação correta, onde os caracteres aparecem conforme o esperado.
- Usando o menu Codificação> Converter em UTF-8 . O indicador da barra de status no canto inferior direito agora mostra UTF-8-BOM .
- Salve seu arquivo.
Talvez você possa contestar que não deseja UTF-8, mas não indicou essa limitação na pergunta e, geralmente, não há razão para não usá-la. Ele manterá todos os caracteres estáveis, sem problemas de aparência que você encontrou. A limitação pode ser processada em aplicativos / ferramentas mais antigos. Então você precisa seguir a codificação ANSI que eles exigem.
Informação adicional:
O UTF-8 é totalmente suportado pelo Bloco de Notas, fornecido com o Windows, portanto você não terá problemas aqui. No entanto, eu recomendo usar arquivos UTF-8 com BOM . O UTF-8 sem BOM também funciona, mas quando a marca está ausente, os editores confiam na detecção automática de formato e, como você pode ver, às vezes pode dar errado. Vi que alguns programas mais antigos reclamavam do marcador da lista de materiais, como "Caracteres inválidos no início do arquivo". e depois converti meu arquivo em UTF-8 sem BOM.
Unicodeo padrão suporta mais de 256 pontos de código: o número total suportado é 1.114.112. Segundo a Wikipedia, esse espaço é atualmente usado por 136.755 caracteres, abrangendo 139 scripts modernos e históricos, além de vários conjuntos de símbolos. O restante é reservado para uso futuro. Como você pode ver, Unicode é a codificação que cobre a maioria dos caracteres mais usados no mundo, para que você nunca caia nos problemas das páginas de códigos novamente. Você não precisa se ater ao UTF-8, o Unicode também pode ser representado como UTF-16, UTF-32 ou em várias representações mais exóticas (UTF-7, UTF-1 e outras) ou em formas não transitórias como UCS- 4) Nelas, o UTF-8 é mais suportado, por isso recomendo este. Sem o uso de caracteres acima do ponto de código 127, ele é compatível com ASCII (exceto a marca BOM,
Se algum programa precisar de uma página de código sua, selecione a página de código 65001 para UTF-8.
Se você deseja explorar todos os caracteres do Unicode, incluindo pesquisa ou filtragem por nome ou outras propriedades ou identificação de caracteres desconhecidos, use, por exemplo, BabelMap .