ИТ-ТЕК-002CP1251 → UTF-8модернизацияревизия 2026-05-03

Windows-1251 в UTF-8

Перевод старых данных в современный универсальный стандарт UTF-8. Базы 1С, экспорты Excel, legacy-сайты, старые CSV-файлы. Pipe-команды для bash и PowerShell.

Отчёт · ИТ-ТЕК-002|перекодировка
calcal.ru / windows-1251-v-utf8-onlajn
Загрузка…
UTF-8
Целевая кодировка
1М+
Символов поддержано
Безопасно
Все символы CP1251 есть
iconv
Стандарт UNIX
ПЕРЕХОД

Главные сценарии

Из CP1251 в UTF-8 — самая частая задача. Никогда не теряет данные (CP1251 ⊂ UTF-8).

  • Импорт CSV из 1С в современный сервис (CRM, корпортал);
  • Экспорт текстов из старого сайта в новый;
  • Конвертация дампов БД при миграции;
  • Открытие старых писем в новом почтовом клиенте;
  • Обмен данными с партнёрами на разных платформах;
  • Архивирование текстовых файлов в долгосрочный универсальный формат.
СВЯЗАННЫЕ
ЧАСТЫЕ ВОПРОСЫ

Часто задаваемые вопросы

UTF-8 — современный универсальный стандарт. Все новые системы (Postgres, MongoDB, REST API, веб-сайты, мобильные приложения) работают в UTF-8. Перевод нужен для: 1) импорта старых баз данных в новую систему; 2) обмена данными между разными платформами; 3) работы со старыми CSV/Excel файлами; 4) переноса контента старого сайта на современный движок (WordPress, Bitrix).
Если открываете файл в редакторе с UTF-8 по умолчанию, и видите вместо «Привет» — «Ïðèâåò» — это файл в Windows-1251, открытый как UTF-8. В Notepad++ внизу справа показывается текущая кодировка файла. В Linux: <code>file -i input.txt</code> покажет MIME-тип и кодировку. В Python: <code>chardet</code> библиотека автоопределяет кодировку.
<code>find . -name "*.txt" -exec sh -c "iconv -f WINDOWS-1251 -t UTF-8 \"$1\" -o \"$1.utf8\" && mv \"$1.utf8\" \"$1\"" _ {} \;</code>. Эта команда находит все .txt в текущей папке и подпапках, конвертирует из CP1251 в UTF-8 и заменяет оригинал. Перед запуском — обязательно сделайте резервную копию.
Excel 2007+ умеет открывать UTF-8, но требует BOM (или явное указание кодировки). Для гарантированной работы: 1) Открыть CSV в текстовом редакторе (Notepad++); 2) «Кодировка» → «Преобразовать в UTF-8 BOM»; 3) Сохранить и открыть в Excel — кириллица отобразится корректно. Альтернатива — экспорт в XLSX (Excel внутренний формат, всегда UTF-8).
<code>COPY my_table FROM 'file.csv' WITH (ENCODING 'WIN1251', FORMAT csv);</code> — Postgres сам конвертирует в БД-кодировку (обычно UTF-8). Альтернативно сначала перекодировать файл в UTF-8, потом импортировать. Для больших файлов (10+ ГБ) лучше использовать COPY с указанием кодировки — это потоковый процесс, не требует промежуточного файла.
Если в БД хранятся данные в latin1 (по умолчанию у старых MySQL) — это «1251 в обёртке latin1». При экспорте: <code>mysqldump --default-character-set=latin1 db > dump.sql</code>, потом конвертировать содержимое dump в UTF-8 через iconv, потом импортировать в новую БД с DEFAULT CHARSET=utf8mb4.
1) Конвертировать все исходники сайта (HTML, шаблоны) в UTF-8; 2) В <head>: <code>&lt;meta charset="UTF-8"&gt;</code>; 3) В .htaccess: <code>AddDefaultCharset UTF-8</code>; 4) Экспортировать БД в дамп с указанием 1251, конвертировать дамп в UTF-8, импортировать в новую БД с UTF-8; 5) Обновить настройки подключения PHP к БД (<code>SET NAMES utf8mb4</code>); 6) Тестировать на тестовом сервере. Полный переход 1–2 дня.
Лиана Арифметова
АВТОРverifiedред. calcal.ru

Лиана Арифметова

Создатель и главный редактор

Миссия: демократизировать сложные расчёты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Mathematical Engineering · МФТИ · редактирует каталог с 2012 года

Был ли этот калькулятор полезен?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Инструмент справочный — не заменяет эксперта

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

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

Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут ответственности за прямой или косвенный ущерб, возникший из-за использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию результатов.