Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как перекодировать все файлы в utf 8


Как перекодировать 1251 в UTF-8? Пакетная смена кодировки файлов с windows-1251 на utf-8, массовая смена кодировки файлов

Способ 1. У меня не срабатывает.

Возникла задача перекодировать файлы сайта в формат UTF-8, а до этого данные файлы были созданы в кодировке WINDOWS-1251.

Вроде бы задача тривиальная - берем любой кодировщик и кодируем из widows-1251 в utf-8, но не тут то было, так можно делать если у нас десяток файлов.

А если файлов тысяча? Да и еще не скопом, а каждая группа в своей подкатегории


Сразу в голову приходит идея - берем пакетный перекодировщик файлов и кодируем одним мановением мыши.

Кстати хочу заметить файлы у меня лежали на виртуальном сервере, и диск с файлами был подключен как обычный сетевой диск. Т.е. без всяких фтп и прочего, хотя конечно все это есть.

И так, необходим конвертер для пакетной кодировки в UTF.

И пакетной по-настоящему, а не выбрали кучу файлов и кодируем, чтобы можно было добавлять начальную директорию, а файлы кодировались рекурсивно.

После тщательных поисков было найдено решение!

Есть замечательный бесплатный конвертер для пакетного конвертирования в UTF - UTFCast Express - http://nemcd.com/wp-content/uploads/2010/03/convert/utfcast.exe.

Он позволяет легко и быстро в автоматическом режиме перекодировать каталог и все файлы в подкаталогах. Но у него есть небольшая особенность! Так как версия Экспресс бесплатная - то она не имеет опции конвертировать в UTF-8 без BOM (BOM - Byte Order Mark, служит для идентификации кодировок UTF)

Недостаток результата конвертирования такой, что ваши PHP скрипты скорее всего не будут работать! А вот для решения этой проблемы необходимо применить вторую программку - http://nemcd.com/wp-content/uploads/2010/03/convert/utf8-bom-remover.exe - UTF-8 BOM Remover

Эта тоже замечательная программа - прекрасно справляется с удалением BOM в UTF файлах. А главное рекурсивно все содержимое каталога и подкаталогов!

Вот такой связкой можно решить такой важный вопрос.

Способ 2. У меня не срабатывает.

Для семейства Windows есть программка файловый менеджер Far Manager. Это консольный файловый менеджер. К нему есть плагины, один из которых нам и поможет с массовой перекодировкой файлов.

Это FarTrans - "плагин позволяет быстро перекодировать кириллицу в выбранных текстовых файлах, а также поменять формат конца строк на DOS (CR+LF) или UNIX (LF). В плагин встроены следующие русские кодовые таблицы: DOS Cp866, Windows Cp1251, KOI-8, Unix ISO 8859-5, Macintosh, Java Unicode (эквивалент native2ascii). Плагин также работает с таблицами, зарегистрированными в FARе. Встроена поддержка UTF-8 (русская страница). Реализована возможность автоматической замены/добавления Charset= в HTML-файлах"

Скачиваем его, устанавливаем:

1. Создайте папку FarTrans в C:\Program Files\Far\Plugins

2. Скопируйте скачанные файлы из архива в эту папку FarTrans

3. Перезапустите FAR Manager

4. Выделяйте файлы и выбирая в плагинах Transcod (он же FarTrans) указываете нужный вариант кодировки (у нас - UTF-8)

Recoder v2.2.1 (перекодировщик) - программа для пакетной перекодировки файлов cp1251, utf-8, удаление bom-заголовка

Recoder v2.2.1 (перекодировщик) - программа для пакетной перекодировки файлов cp1251, utf-8, удаление bom-заголовка

Небольшая программа для массового (пакетного) перекодирования файлов из одной кодировки в другую. Доступные кодировки windows-1251, koi8-r, cp866, ISO 8859-5, utf-8, utf-8 с BOM-заголовком. Также умеет искать и удалять BOM-заголовок в файлах и каталогах.

Текущая версия: ¶
Предыдущие версии: ¶

Скриншоты ¶


© 2020 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.

Notepad ++ как перекодировать весь (много файлов) сайт из WIN1251 в UTF-8 without BOM

Вот несколько простых шагов для преобразования нескольких файлов через Notepad ++ без использования специальных символов (например, диакритических знаков).

  • Запустите Notepad ++, а затем откройте меню Плагины- > Менеджер плагинов- > Показать Менеджер плагинов
  • Установите Python Script . Когда плагин установлен, перезапустите приложение.
  • Выберите меню Плагины- > Python Script → Новый Script.
  • Выберите его имя, а затем пройдите следующий код:

convertToUTF8.py

import os
 import sys
 from Npp import notepad # import it first!
 
 filePathSrc="C:\\Users\\" # Path to the folder with files to convert
 for root, dirs, files in os.walk(filePathSrc):
 for fn in files: 
 if fn[-4:] == .xml : # Specify type of the files
 notepad.open(root + "\\" + fn) 
 notepad.runMenuCommand("Encoding", "Convert to UTF-8")
 notepad.save()
 # if you try to save/replace the file, an annoying confirmation window would popup.
 # notepad.saveAs("{}{}".format(fn[:-4], _utf8.xml )) 
 notepad.close()

Как перевести файлы в кодировку UTF-8

Как перевести файлы в кодировку UTF-8

Те, у кого старые сайты, могут столкнуться с такой проблемой, что необходимо перевести файлы в кодировку UTF-8. К их числу я смело могу назвать и себя. Начала делать сайты более 10 лет назад, когда об этой кодировке было мало что известно. На всех страницах у меня стояла кодировка:

<META http-equiv=content-type content="text/html; charset=windows-1251">

За эти годы некоторые мои сайты распухли до тысячи и более страниц и переделывать все эти тысячные страницы не хватит никаких сил и времени.

Сейчас уже так не пишут. На смену старому пришло новое - HTML5, где нужно прописать:

<meta charset="UTF-8">

Скажу честно, все же решила я все перелопатить вручную и вот как это у меня происходило:

  1. Открывала файл в Notepad++
  2. Выделяла весть текст
  3. Копировала весь текст
  4. Переводила кодировку в UTF-8
  5. Вставляла текст
  6. Проверяла опять - в той ли кодировке стоит?
  7. Сохраняла файл

И вот два дня я так долбила один свой сайт.

Можно, конечно же и не менять ничего. Но ведь старые сайты мои давно устарели, нужно переводить их и на современную верстку HTML5 и CSS3, плюс мобильную и адаптивную верстку. И лучше это делать в более продвинутых программах, а не в Notepad++.

Короче, приуныла я. Однако приехал сын-программист и все решил!

Оказывается все уже давно придумано. И если у Вас возникла такая же проблема - не отчаивайтесь! Есть прекрасная программа UTFCast Express

Эту программу можно скачать тут - http://www.rotatingscrew.com/utfcast-express.aspx - Это условно бесплатная программа, которая умеет конвертировать текст из разных кодировок в utf8. Доступна для ОС семейства Windows.

Запускаем UTFCast Express и указываем правильные пути: сверху - что конвертировать, снизу - куда складывать конвертированные файлы. Вам нужно просто выбрать нужные директории, программа сама перекодирует все нужные файлы из папки. Нажимаем "Start".

Единственно, заранее создайте новую папку, куда программа закачает все Ваши файлы из нужной папки.

Не забудьте также поставить галочку "Copy Unconverted". Нажимаете кнопочку "Start" и программа заработала!

Всего пара минут и все файлы волшебным образом перекодировались в нужную кодировочку!

Папку с прежними файлами можете просто удалить, чтобы не занимала место и работать дальше! Вперед, к новым высотам!

Ура, товарищи!!!

Что такое вообще UTF-8

Заметьте, что UTF-8 надо обязательно писать в верхнем регистре и через черточку, то есть никаких там utf-8, utf8 или UTF8. Пишите правильно!

UTF-8 (от англ. Unicode Transformation Format, 8-bit — «формат преобразования Юникода, 8-битный») — одна из общепринятых и стандартизированных кодировок текста, которая позволяет хранить символы Юникода, используя переменное количество байт (от 1 до 6).

Стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D. Кодировка нашла широкое применение в UNIX-подобных операционных системах и веб-пространстве. Сам же формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9. В качестве BOM использует последовательность байт EF16, BB16, BF16 (что у неё самой является трёхбайтовой реализацией символа FEFF16).

Одним из преимуществ является совместимость с ASCII — любые их 7-битные символы отображаются как есть, а остальные выдают пользователю мусор (шум). Поэтому в случае, если латинские буквы и простейшие знаки препинания (включая пробел) занимают существенный объём текста, UTF-8 даёт выигрыш по объёму по сравнению с UTF-16.



как перекодировать файлы в UTF-8 из windows-1251, koi-8 и других — Code Depth

В общем случае, перекодировать можно в любом направлении, не обязательно именно в utf-8. Можно перекодировать между кириллическими кодировками, например, из koi-8 в cp1251, из utf-8 в koi-8, из utf-8 в cp1251 и обратно. Также рассмотрим ситуацию когда нужно изменить кодировку файлов не только в текущей директории, но и во вложенных.

В Linux перекодировку файлов удобно делать утилитами recode или enconv. Есть и другие перекодировщики, но про них пусть кто-то другой напишет.

Установить recode:

sudo yum install recode

Для использования enconv нужно установить пакет enca:

sudo yum install enca

Обе команды — recode и enconv — имеют кучу возможных опций, в простейших случаях для перекодирования одного или нескольких файлов в одной директории использование такое:

recode cp1251..utf8 myfile.txt
recode cp1251..utf8 *.txt
enconv -L russian -x utf8 myfile.txt
enconv -L russian -x utf8 *.txt

На что следует обратить внимание: для команды recode надо указать направление перекодировки (как минимум, исходную кодировку, в примере это cp1251; если не указана конечная кодировка, то программа заглянет в переменные окружения LC_ALL, LC_CTYPE, LANG). Для enconv указывать направление перекодировки необязательно вообще: программа способна определить исходную кодировку, проанализировав текст файла, а конечная кодировка будет взята из переменных окружения.

То есть, если надо перекодировать файлы в вашу «обычную» кодировку, используемую в системе, примеры могут выглядеть так:

recode cp1251 *.txt enconv -L russian *.txt

Для того, чтобы программа enconv точнее могла определить исходную кодировку файла, ей можно помочь, подсказав, на каком языке написан текст в файле. В нашем примере указан русский язык: «-L russian».

Список языков, известных программе, можно посмотреть так:

enca --list languages

enca — это не опечатка. Программа enconv является частью пакета enca.

Результат:

 belarusian: CP1251 IBM866 ISO-8859-5 KOI8-UNI maccyr IBM855 KOI8-U bulgarian: CP1251 ISO-8859-5 IBM855 maccyr ECMA-113 czech: ISO-8859-2 CP1250 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK estonian: ISO-8859-4 CP1257 IBM775 ISO-8859-13 macce baltic croatian: CP1250 ISO-8859-2 IBM852 macce CORK hungarian: ISO-8859-2 CP1250 IBM852 macce CORK lithuanian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic latvian: CP1257 ISO-8859-4 IBM775 ISO-8859-13 macce baltic polish: ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK russian: KOI8-R CP1251 ISO-8859-5 IBM866 maccyr slovak: CP1250 ISO-8859-2 IBM852 KEYBCS2 macce KOI-8_CS_2 CORK slovene: ISO-8859-2 CP1250 IBM852 macce CORK ukrainian: CP1251 IBM855 ISO-8859-5 CP1125 KOI8-U maccyr chinese: GBK BIG5 HZ none:

Как перекодировать файлы из/в utf-8, cp1251, koi8 и т. д. рекурсивно в поддиректориях

Для рекурсивного изменения кодировки файлов надо привлечь команду find, затем перекодировать то, что она нашла.

Среди множества опций команды find имеется набор для выполнения действий над найденными файлами. Нас интересует опция «-exec command {} ;».

Здесь:

command — команда, которую надо выполнить для каждого найденного файла;

{} — вместо скобок будет подставлено имя файла, найденного командой find;

; — точка с запятой указывает для команды find, в каком месте заканчиваются параметры команды command.

Надо иметь в виду, что «{}» и «;» может понадобиться экранировать с помощью одинарных кавычек или «\», чтобы предотвратить интерпретацию командной оболочкой (shell expansion).

Собираем всё вместе. Чтобы перекодировать из cp1251 (windows-1251) в utf-8 рекурсивно в поддиректориях все файлы, имена которых заканчиваются на ‘.txt’, надо выполнить:

find /path/to/dir -name '*.txt' -exec recode cp1251..utf8 '{}' \;

или

find /path/to/dir -name '*.txt' -exec enconv -L russian -x utf8 '{}' \;

Ура!

Поделиться ссылкой:

Понравилось это:

Нравится Загрузка...

Похожее

Пакетное изменение кодировки из UTF-8 в Windows-1251

Работая над проектом интернет магазина столкнулся, с проблемой кодировки в компонентах движка.Проблема была не в оригинальных файлах магазина, которые как и пологается были в кодировке UTF-8, а во врезаемых модулях которые были в кодировке CP-1251, потому что писались к предыдущим версиям CMS где всё было в кодировке Windows-1251. Кроме этого встретил модули и их модификации где была смешанная кодировка: код в Utf-8, а различные сообщения на кириллице в Cp-1251.

В начале пробовал изменять кодировку при помощи редактора Akelpad, но по неизвестной причине это не смогло решить проблему, да и файлов было довольно много подлежащих к изменению.Возникшею проблему удалось решить при помощи простой и удобной программы


EncodingConverter.Разумеется, наткнулся на эту программу совершенно случайно, перекапывая различные форумы, а до этого попадались другие решение только не подходящие под мою задачу.

Моё Описание программы EncodingConverter

Для запуска программы EncodingConverter,

  • открываем одноименный файл EncodingConverter. exe.
  1. В начале через кнопку обзор выбираем папку с файлами
  2. (в которых нужно изменить кодировку), при этом в папке могут содержаться файлы с разными расширениями и разным количеством вложенных папок.Флажок обрабатывать вложенные папки оставляем на месте.
  3. Затем в выпадающим списке выбираем новую кодировку.
  4. В нашем случае это Cp-1251, но можно по желанию выбрать и такие как:
  • UTF-8 без BOM
  • UTF-8 с BOM
  • UTF-16-Le
  • UTF-16-BE
  • UTF-32-LE
  • UTF-32-BE
  • CP-1251
  • В поле фильтр, нам нужно дописать те расширение файлов, в которых будем изменять кодировку.
  • В поле уже имеется ряд масок, поэтому в начало или конец строки дописываем примерно так: *. php|*. html|*. htm и так далее, разделитель масок — это вертикальная черта.
  • Перед тем как нажать кнопку начала изменения кодировки, нажмите на кнопку анализировать.
  • Вот так всё просто в этой программе, спасибо за это автору.Не забывайте все такие фокусы производить всегда на копиях файлов.

    Где скачать EncodingConverter

    А скачать эту версию программы EncodingConverter, которую я сам использую можно с моего сайта.Скачать EncodingConverterРазмер архива Zip примерно 23 KB.

    Легко сохранить или поделится в:

    [/contents]
    Внимание, Бдительным!

    Если вдруг ссылка стала не рабочей, пожалуйста скопируйте ссылку из адресной строки браузера на эту страницу и отправте её мне черезФорму обратной связи в теме сообщения выбрав подходящию тему.
    Благодарю вас за понимание.

    Ещё возможно будет для вас интересно

    python - как восстановить строку со сломанной кодировкой в ​​юникод?

    Переполнение стека
    1. Около
    2. Товары
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд
    .

    linux - Как преобразовать файл из ASCII в UTF-8?

    Переполнение стека
    1. Около
    2. Товары
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
    .

    linux - Как преобразовать ISO8859-15 в UTF8?

    Переполнение стека
    1. Около
    2. Товары
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
    3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
    4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
    .

    PowerShell - пакетное изменение кодировки файлов в UTF-8

    Переполнение стека
    1. Около
    2. Товары
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
    .

    .net - Как проверить, находится ли файл .txt в формате ASCII или UTF-8 в среде Windows?

    Переполнение стека
    1. Около
    2. Товары
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
    .

    utf 8 - Как преобразовать файл в кодировке ANSI в UTF-8 с помощью Notepad ++?

    Переполнение стека
    1. Около
    2. Товары
    3. Для команд
    1. Переполнение стека Общественные вопросы и ответы
    2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
    .

    Смотрите также