Это ожидаемое поведение.
Может случиться, что файл сохраняется с определенной кодировкой, но после повторного открытия его в Notepad++ он обнаруживается с другой кодировкой. Это техническое ограничение, и оно возникает из-за того, что иногда полученный файл не будет отличаться, даже если используются разные кодировки. Это наиболее заметно, если файл сохраняется без специальной спецификации (метки порядка байтов), указывающей используемую кодировку.
ANSI и UTF-8 разделяют свои первые 128 символов (ASCII), что делает их неразличимыми, если это все, что вы используете. В простом текстовом файле метаданные, указывающие кодировку, отсутствуют, поэтому все, что может сделать Notepad++ (и другие редакторы), - это просмотреть символы / данные в файле и сделать предположение.
- Если файл имеет спецификацию, NP++ обнаруживает ее и знает о кодировке.
- Если файл HTML или XML, кодировка читается из первой строки файла.
- В противном случае NP++ принимает предположение между UCS-2LE, UCS2-BE и ANSI. Вы не можете сделать различие между файлом, закодированным в UTF-8 без BOM, и файлом в ANSI с большим количеством высоких символов ASCII.
http://sourceforge.net/projects/notepad-plus/forums/forum/331754/topic/3822723
Теоретически, ответ PRacicot должен открыть все файлы ANSI/UTF-8 (без спецификации) как UTF-8. Это также рекомендуется в ответе на аналогичный вопрос переполнения стека. Если это не работает для вас, я не уверен, что можно сделать. Кодировка обозначается как ANSI as UTF-8
в строке состояния, для меня.