Кодировка текста – это схема нумерации символов, в которой каждому символу, цифре или знаку присвоено соответствующее число. Кодировку используют для сохранения и обработки текста на компьютере. Каждый раз при сохранении текста в файл он сохраняется с использованием определенной схемы кодирования, и при открытии этого файла необходимо использовать такую же схему, иначе восстановить исходный текст не получится. Самыми популярными кодировками для кириллицы сейчас являются UTF-8, Windows-1251 (CP1251, ANSI).
Для того чтобы программа смогла правильно открыть текстовый файл, иногда приходится вручную менять кодировку, перекодируя текст из одной схемы в другую. Например, не редко возникают проблемы с открытием файлов CSV, XML, SQL, TXT, PHP.
В этой небольшой статье мы расскажем о том, как изменить кодировку текстового файла на UTF-8, Windows-1251 или любую другую.
Блокнот Windows
Если вы используете операционную систему Windows 10 или Windows 11, то вы можете изменить кодировку текста с помощью стандартной программы Блокнот. Для этого нужно открыть текстовый файл с помощью Блокнота и воспользоваться меню «Файл – Сохранить как».
В открывшемся окне нужно указать новое название для файла, выбрать подходящую кодировку и нажать на кнопку «Сохранить».
К сожалению, для подобных задач программа Блокнот часто не подходит. С ее помощью нельзя открывать документы большого размера, и она не поддерживает многие кодировки. Например, с помощью Блокнота нельзя открыть текстовые файлы в DOS 866.
Notepad++
Notepad++ (скачать) является одним из наиболее продвинутых текстовых редакторов. Он обладает подсветкой синтаксиса языков программирования, позволяет выполнять поиск и замену по регулярным выражениям, отслеживать изменения в файлах, записывать и воспроизводить макросы, считать хеш-сумы и многое другое. Одной из основных функций Notepad++ является поддержка большого количества кодировок текста и возможность изменения кодировки текстового файла в UTF-8 или Windows 1251.
Для того чтобы изменить кодировку текста с помощью Notepad++ файл нужно открыть в данной программе. Если программа не смогла правильно определить схему кодирования текста, то это можно сделать вручную. Для этого нужно открыть меню «Кодировки – Кириллица» и выбрать нужный вариант.
После открытия текста можно изменить его кодировку. Для этого нужно открыть меню «Кодировки» и выбрать один из вариантов преобразования. Notepad++ позволяет изменить текущую кодировку текста на ANSI (Windows-1251), UTF-8, UTF-8 BOM, UTF-8 BE BOM, UTF-8 LE BOM.
После преобразования файл нужно сохранить с помощью меню «Файл – Сохранить» или комбинации клавиш Ctrl-S.
Akelpad
Akelpad (скачать) – достаточно старая программа для работы с текстовыми файлами, которая все еще актуальна и может быть полезной. Фактически Akelpad является более продвинутой версией стандартной программы Блокнот из Windows. С его помощью можно открывать текстовые файлы большого размера, которые не открываются в Блокноте, выполнять поиск и замену с использованием регулярных выражений и менять кодировку текста.
Для того чтобы изменить кодировку текста с помощью Akelpad файл нужно открыть в данной программе. Если после открытия файла текст не читается, то нужно воспользоваться меню «Файл – Открыть».
В открывшемся окне нужно выделить текстовый файл, снять отметку «Автовыбор» и выбрать подходящую кодировку из списка. При этом в нижней части окна можно видеть, как будет отображаться текст.
Для того чтобы изменить текущую кодировку текста нужно воспользоваться меню «Файл – Сохранить как» и сохранить документ с указанием новой схемы кодирования.
В отличие от Notepad++, текстовый редактор Akelpad позволяет сохранить файл в практически любой кодировке. В частности, доступны Windows 1251, DOS 886, UTF-8 и многие другие.
Посмотрите также:
- Чем открыть PDF файл в Windows 7 или Windows 10
- Как перевернуть страницу в Word
- Как копировать текст с помощью клавиатуры
- Как сделать рамку в Word
- Как сделать буклет в Word
Автор
Александр Степушин
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.
Windows-1251
☑
0
allin
10.06.08
✎
15:45
Как записать файл в кодировке Windows-1251 по умолчанию 1С создает файл с кодировкой UTF
1
v_rtex
10.06.08
✎
15:45
текстовый файл или какой?
2
allin
10.06.08
✎
15:47
текстовый
3
Лефмихалыч
10.06.08
✎
15:50
имхо, штатно — ни как, но возможно есть какие-то хитрости
4
Hadgehogs
10.06.08
✎
15:51
(3) Писец
5
smaharbA
10.06.08
✎
15:51
а тама утф-8 или 16 ?
6
Hadgehogs
10.06.08
✎
15:51
Юзаем объект ЗаписьТекста
7
v_rtex
10.06.08
✎
15:52
из кода записываешь или кнопкой Сохранить в меню файл?
8
Hadgehogs
10.06.08
✎
15:53
Да и в текстовом документе это есть
9
Лефмихалыч
10.06.08
✎
15:54
(4)
КодировкаТекста (TextEncoding)
Свойства:
ANSI (ANSI)
OEM (OEM)
UTF16 (UTF16)
UTF8 (UTF8)
ANSI — это личоль Windows-1251? Чо-то мне сомнительно…
10
ShoGUN
10.06.08
✎
15:55
(9) А зря.
11
Поручик
10.06.08
✎
15:57
(9) ANSI — это и есть Windows-1251
12
allin
10.06.08
✎
15:58
Пишу выгрузку для сайта обработкой в файл.
Делая так:
Текст = Новый ТекстовыйДокумент;
…
…
Текст.ДобавитьСтроку(СтрокаДляБазы);
Текст.Записать(ПутьКПапке + «_baseorder.csv»);
Как ему указать кодировку для записи файла ???
Нужно Windows-1251
13
Лефмихалыч
10.06.08
✎
15:59
(10, 11) чо, правда что ли? век живи век учись…
А какие ваши доказательства?
14
allin
10.06.08
✎
15:59
У меня 8.0, 18 релиз
15
Hadgehogs
10.06.08
✎
15:59
(9)
Славик, чЁто то я очкую текст в ANSI сохранять.. Вдруг это не WIN1251?
Че ты очкуешь, не очкуй, давай, сохраняй, я тыщу раз так делал…
16
Hadgehogs
10.06.08
✎
16:00
(12) Читаем СП и ниипет…
17
Asmody
модератор
10.06.08
✎
16:01
(15) «Да ты лошара!!»
18
Hadgehogs
10.06.08
✎
16:01
Текст.Записать(ПутьКПапке + «_baseorder.csv»,КодировкаТекста.ANSI);
19
allin
10.06.08
✎
16:03
(18) Спасибо.
20
Поручик
10.06.08
✎
16:03
(13), куеть не встать, ну набросай обработку, и опытным путём установи.
ФайлДанных = Новый ТекстовыйДокумент;
ИмяФайла = «D:\чего-то1.txt»;
ФайлДанных.ДобавитьСтроку(«я не дятел»);
ФайлДанных.Записать(ИмяФайла, КодировкаТекста.ANSI);
ФайлДанных = Новый ТекстовыйДокумент;
ИмяФайла = «D:\чего-то2.txt»;
ФайлДанных.ДобавитьСтроку(«я не дятел»);
ФайлДанных.Записать(ИмяФайла, КодировкаТекста.OEM);
ФайлДанных = Новый ТекстовыйДокумент;
ИмяФайла = «D:\чего-то3.txt»;
ФайлДанных.ДобавитьСтроку(«я не дятел»);
ФайлДанных.Записать(ИмяФайла, КодировкаТекста.UTF16);
ФайлДанных = Новый ТекстовыйДокумент;
ИмяФайла = «D:\чего-то4.txt»;
ФайлДанных.ДобавитьСтроку(«я не дятел»);
ФайлДанных.Записать(ИмяФайла, КодировкаТекста.UTF8);
21
Hadgehogs
10.06.08
✎
16:08
(20) Для 8.1.11, так не покатит
22
Hadgehogs
10.06.08
✎
16:09
(21) + Вернее там еще дофига вариантов кодировок есть, которые строкой передаются
(19) Приходите еще.. Рады будем..
23
Лефмихалыч
10.06.08
✎
16:10
(20) да ладно ты, не кипятись, пошутил я — верю наслово
Трансферное обучение с предобученными моделями в Keras с Python
AI_Generated 06.05.2025
Суть трансферного обучения проста: взять модель, которая уже научилась решать одну задачу, и адаптировать её для решения другой, похожей задачи. Мозг человека работает по схожему принципу. Изучив. . .
Циклические зависимости в C#: методы управления и устранения
stackOverflow 06.05.2025
Если вы хоть раз работали над не самым тривиальным проектом на C#, то наверняка сталкивались с той ситуацией, когда компилятор вдруг начинает сыпать странными ошибками о невозможности разрешить. . .
Как перейти от Waterfall к Agile
EggHead 06.05.2025
Каскадная модель разработки Waterfall — классический пример того, как благие намерения превращаются в организационный кошмар. Изначально созданная для упорядочивания хаоса и внесения предсказуемости. . .
Оптимизация SQL запросов — Продвинутые техники
Codd 06.05.2025
Интересно наблюдать эволюцию подходов к оптимизации. Двадцать лет назад всё сводилось к нескольким простым правилам: «Избегайте SELECT *», «Используйте индексы», «Не джойните слишком много таблиц». . . .
Создание микросервисов с gRPC и Protobuf в C++
bytestream 06.05.2025
Монолитные приложения, которые ещё недавно считались стандартом индустрии, уступают место микросервисной архитектуре — подходу, при котором система разбивается на небольшие автономные сервисы, каждый. . .
Многопоточность и параллелизм в Python: потоки, процессы и гринлеты
py-thonny 06.05.2025
Параллелизм и конкурентность — две стороны многопоточной медали, которые постоянно путают даже бывалые разработчики.
Конкурентность (concurrency) — это когда ваша программа умеет жонглировать. . .
Распределенное обучение с TensorFlow и Python
AI_Generated 05.05.2025
В машинном обучении размер имеет значение. С ростом сложности моделей и объема данных одиночный процессор или даже мощная видеокарта уже не справляются с задачей обучения за разумное время. Когда. . .
CRUD API на C# и GraphQL
stackOverflow 05.05.2025
В бэкенд-разработке постоянно возникают новые технологии, призванные решить актуальные проблемы и упростить жизнь программистам. Одной из таких технологий стал GraphQL — язык запросов для API,. . .
Распознавание голоса и речи на C#
UnmanagedCoder 05.05.2025
Интеграция голосового управления в приложения на C# стала намного доступнее благодаря развитию специализированных библиотек и API. При этом многие разработчики до сих пор считают голосовое управление. . .
Реализация своих итераторов в C++
NullReferenced 05.05.2025
Итераторы в C++ — это абстракция, которая связывает весь экосистему Стандартной Библиотеки Шаблонов (STL) в единое целое, позволяя алгоритмам работать с разнородными структурами данных без знания их. . .
mihail_ms Пользователь Сообщений: 169 |
#1 20.11.2021 20:40:10 Добрый. В курилке я описал проект, но видимо никому кроме меня пока он не нужен))) Курилка Я почти реализовал задуманное, осталось подправить сохранение. Т.к. че то ниче не выходит. тем похожих вроде бы много, но как то сложна и запутанно. Суть: требуесся сохранить лист 1( или содержимое ячейки А1) как текст в кодировке ANSI , хоть куды, дело 10е, но т.к. хороший тон описывать что требуется на выходе, то по хорошему сразу во временную папку винды для понимания о кавычках, почему то сохраняет не
а вот так
Прикрепленные файлы
|
||||
New Пользователь Сообщений: 4934 |
|
mihail_ms Пользователь Сообщений: 169 |
,видел такое, как пользоваться этой функцией не понял. Со своими функциями сталкивался. Обычно ее прописываешь потом как формулу. А тут че с ней делать. ХЗ |
Юрий М Модератор Сообщений: 61089 Контакты см. в профиле |
#4 20.11.2021 21:07:13
Не будет ответа здесь — в каком разделе создадите ЕЩЁ ОДНУ тему? |
||
mihail_ms Пользователь Сообщений: 169 |
, , к чему это? Там просто обсуждение, в т.ч. если добрые люди скажут, нафига тебе эксель, в вба есть такие то волшебные строчки, делай батник и будет тебе счастье… А может кто задаст мне вопрос вообще не потеме, на то она и курилка… |
New Пользователь Сообщений: 4934 |
#6 20.11.2021 21:22:42
Изменено: New — 20.11.2021 21:23:50 |
||
Юрий М Модератор Сообщений: 61089 Контакты см. в профиле |
#7 20.11.2021 21:29:50
к тому, что фактически Вы создали две одинаковые темы, чего делать не следовало. Если поняли, что разместили первую тему не там, то нужно было попросить модераторов перенести тему в общий форум. А Вы теперь начинаете искать оправдания. |
||
mihail_ms Пользователь Сообщений: 169 |
#8 20.11.2021 21:40:59 NEW, cпасибо. Далее буду общаться сам с собой в курилке))) тут ругаются Изменено: mihail_ms — 20.11.2021 21:41:24 |
О том, как перевести сайт и базу данных из кодировки windows-1251 в кодировку utf-8, уже рассказывалось неоднократно. Это можно сделать средствами самой DLE. А вот обратного процесса пока никто не освещал. Средствами самого движка DLE такого не сделать, но можно сделать сравнительно легко в «домашних» условиях без обращений к техподдержке хостинга или без самостоятельных дополнительных манипуляций на своем сервере. Об этом я и расскажу в этой статье. Надеюсь, она поможет тем, кто по каким-то причинам разочаровался в кодировке utf-8 и решил вернуться к windows-1251.
Для начала вам нужно сделать дамп базы данных вашего сайта (можно, и даже лучше, средствами самого движка через админпанель сайта), которые работают в кодировке utf-8, и скачать этот дамп себе на локальный компьютер.
Перед тем как начать заниматься базой данных, вам нужно будет удалить файлы дистрибутива старого сайта в кодировке utf-8 и происталлировать по новой дистрибутив DLE в кодировке windows-1251. От старого дистрибутива вам нужно оставить на хостинге (НЕ УДАЛЯТЬ!!!) папку uploads и все файлы в ней. Также, скачайте к себе на компьютер папку с вашим рабочим шаблоном и папку engine/data со всеми файлами конфигурации сайта — они вам понадобятся, чтобы не вводить все настройки заного после установки DLE в кодировке windows-1251.
Базу данных на хостинге можно оставить прежнюю, но из неё нужно будет удалить все таблицы, оставив её полностью пустой. Затем через phpmyadmin вам будет нужно на вкладке «Операции» выставить «Сравнение» cp1251_general_ci для этой базы данных. Для самого сайта, чтобы не было проблем с отображением кодировки в браузерах, в вашей панели управления на хостинге нужно будет выставить для вашего домена кодировку windows-1251 перед началом работ. Теперь можно проинсталлировать DLE в кодировке windows-1251 в вашу пустую базу данных. При установке укажите префикс таблиц, все логины и пароли к админке сайта и базе данных точно такими же, какие они у вас были до этого в прежней базе данных и сайте на utf-8. Это поможет вам избежать проблем и непонятных вам ситуаций в дальнейшем.
Теперь займемся самой базой данных…
Распакуем архив с базой данных архиватором, например WinRAR. У вас получится файл с расширением .sql. Откроем его с помощью бесплатного текстового редактора Notepad++ (он поддерживает достаточно большие файлы, если кто-то беспокоится из-за размера своего дампа базы данных). В правом нижнем углу окна Notepad++ (http://notepad-plus-plus.org/download/) будет видна кодировка «UNIX ANSI as UTF-8».
Конвертировать базу данных будем в два этапа.
— Первый этап
Для начала нам нужно сменить название кодировки с utf-8 на windows-1251 по всей базе данных для всех таблиц. Для этого вызываем диалог поиска и замены в Notepad++ и будем менять текст в базе данных с utf8 на cp1251. Нажимаем «Заменить всё» и после нажимаем «Сохранить изменения» (иконка дискеты). Для DLE 9.5 на данный момент таблиц должно быть 35 и столько же должно быть произведено замен.
— Второй этап
Теперь нам нужно конвертировать саму базу данных в windows-1251. Чтобы сохранить кириллицу кириллицей, без всяких крякозяблов, делаем следующее…
Нажимаем кнопку «Кодировка» в меню Notepad++ и затем в выпадающем меню выбираем «Преобразовать в ANSI». Ждем пока Notepad++ закончит эту операцию (на больших базах это может занять время) и после этого нажимаем снова «Сохранить изменения» (иконка дискеты).
Если вы сделали все именно так, то кириллица в вашей базе данных сохранилась без изменений, а в правом нижнем углу окна Notepad++ будет видна кодировка «UNIX ANSI».
Ваша новая база данных в кодировке windows-1251 готова. Теперь вы можете упаковать её в zip архив, чтобы уберечь от возможных повреждений при загрузке на хостинг, и загрузить в папку backup вашего свежеустановленного сайта, где уже распакуете этот архив через панель управления хостингом (ISPManager или аналогичные). После этого вы сможете восстановить базу данных стандартными средствами движка через админпанель сайта в разделе «Управление базой данных». После восстановления базы данных не забудьте в разделе «Категории» нажать кнопку «Отсортировать категории». Вот, собственно, и все премудрости, теперь у вас и сайт, и база данных в кодировке windows-1251.
Если вы прислушались к моему совету при новой установке DLE в кодировке windows-1251 сохранить префиксы таблиц, а также логины и пароли к базе данных и админке сайта прежними, то вы без проблем войдете на сайт после восстановления нашей измененной базы данных.
Для того, чтобы вам вернуть все настройки (не зря я говорил о необходимости сохранить все файлы из папки engine/data), откройте сохраненный файл config.php, найдите строчку
'charset' => "utf-8",
и замените её на
'charset' => "windows-1251",[/code]
и затем нажимаем «Сохранить изменения» (иконка дискеты). Чтобы перевести этот файл с настройками из кодировки utf-8 в windows-1251 проделываем все то же самое, как и с базой данных, и после снова нажимаем «Сохранить изменения» (иконка дискеты). В правом нижнем углу окна Notepad++ будет видна кодировка «UNIX ANSI». Можете загрузить теперь этот файл config.php к себе на сайт в папку data — все настройки и кодировка будут сохранены. Если остальные файлы из старой папки data у вас тоже изменялись на хостинге, то проделываете с каждым нужным вам из них все те же действия, а после загружаете к себе на сайт в папку data.
С шаблоном нужно сделать то же самое — все файлы стилей .css и шаблонов .tpl нужно перевести в кодировку windows-1251 при помощи Notepad++ по тому же принципу, а после загрузить к себе на сайт в папку с шаблонами. Не забудьте выставить права на файлы в соответствии с документацией к DLE.
Ну вот и все. Надеюсь, что эта информация будет для кого-то полезной. Помните, что чтобы избежать ошибок с конвертированием файлов и базы данных, все операции нужно делать с точностью и в два этапа, как описано выше.
Изменено пользователем ower_xz