Кодировка из UTF-8 в ISO 8859-1



  • Здравствуйте. Не могу перекодировать свой файл .csv
    При выборе кодировки ISO 8859-1, сохранении файла (причем программа не обозначает, что были изменения и нужно сохранить файл) и повторном открытии пишет, что стоит кодировка UTF-8.
    Как я могу перекодировать свой файл?



  • Hi @Michael-Khmelnitskiy .
    Do you have ‘Autodetect character encoding’ enabled? It is in ‘Settings > Preferences… > MISC.’ and it is an option which tries to determine what character encoding should be used when opening a file. Try to disable it and see if it helps. (https://npp-user-manual.org/docs/preferences/#misc)

    —(автоматический перевод)
    У вас включена функция ‘Автоопределения кодировки символов’? Это находится в 'Настройки > Настройки… > MISC." и это опция, которая пытается определить, какую кодировку символов следует использовать при открытии файла. Попробуйте отключить ее и посмотрите, помогает ли это. (https://npp-user-manual.org/docs/preferences/#misc)



  • К сожалению не помогло. Файл все так же определяется как UTF-8



  • @Michael-Khmelnitskiy ,

    When the Settings > Preferences > MISC auto-detect is turned off as @litos81 suggested, that means it is not going to try to auto-detect. When that preference is off, you will likely need to manually change the encoding to ISO 8859-1.

    The problem is that Windows does not store the encoding information as metadata in the directory entry, nor as metadata attached directly to the file. Because of this, Notepad++ has a mode where it tries to guess what the encoding is, based on the sequence of bytes found in the file – but that mode guesses wrong, because all bytes just look like bytes and the guessing-algorithm cannot be perfect. When you turn off that guessing mode, then Notepad++ no longer guesses.

    Further, if your ISO 8859-1 document doesn’t have any characters that aren’t in the 7bit ASCII range, then it doesn’t matter whether Notepad++ says your document is ISO 8859-1 or UTF-8 – the bytes on disk will be the same.

    If you do have characters above 127 in your document, then you can just choose that 8859-1 character set for the encoding. To make it easier, you can go to Settings > Shortcut Mapper, and type 8859-1 in the Filter box, then Modify the shortcut for that to some unused keyboard shortcut that you will remember means “make this file 8859-1”.

    ------

    Когда “Настройки” > “Предпочтения” > “Автоопределение MISC” отключены, как было предложено в @litos81, это означает, что not будет пытаться выполнить автоопределение. Когда эта настройка выключена, вам, скорее всего, придется вручную изменить кодировку на ISO 8859-1.

    Проблема в том, что Windows не хранит информацию о кодировке в виде метаданных в записи каталога, а также в виде метаданных, прикрепленных непосредственно к файлу. Поэтому в Блокноте++ есть режим, в котором он пытается угадать, что такое кодировка, основываясь на последовательности найденных в файле байт – но этот режим угадывает неправильно, потому что все байты просто выглядят как байты, а алгоритм угадывания не может быть совершенным. Когда вы отключите этот режим угадывания, Блокнот++ больше не будет угадывать.

    Далее, если в вашем документе ISO 8859-1 нет символов, которые не находятся в 7-ми битном диапазоне ASCII, то не имеет значения, говорит ли Блокнот++ о том, что ваш документ ISO 8859-1 или UTF-8 - байты на диске будут теми же самыми.

    Если у вас do в вашем документе есть символы выше 127, то вы можете просто выбрать этот набор символов 8859-1 для кодировки. Чтобы сделать это проще, вы можете зайти в Settings > Shortcut Mapper, и набрать 8859-1 в поле Filter, затем Modify ярлык для этого на какой-нибудь неиспользуемый ярлык клавиатуры, который вы запомните, означает “сделать этот файл 8859-1”.

    Переведено с помощью www.DeepL.com/Translator (бесплатная версия)


Log in to reply