Сохраните файл в кодировке windows 1251 ansi кириллица

Кодировка текста – это схема нумерации символов, в которой каждому символу, цифре или знаку присвоено соответствующее число. Кодировку используют для сохранения и обработки текста на компьютере. Каждый раз при сохранении текста в файл он сохраняется с использованием определенной схемы кодирования, и при открытии этого файла необходимо использовать такую же схему, иначе восстановить исходный текст не получится. Самыми популярными кодировками для кириллицы сейчас являются 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++

После открытия текста можно изменить его кодировку. Для этого нужно открыть меню «Кодировки» и выбрать один из вариантов преобразования. Notepad++ позволяет изменить текущую кодировку текста на ANSI (Windows-1251), UTF-8, UTF-8 BOM, UTF-8 BE BOM, UTF-8 LE BOM.

изменить кодировку в Notepad++

После преобразования файл нужно сохранить с помощью меню «Файл – Сохранить» или комбинации клавиш Ctrl-S.

Akelpad

Akelpad (скачать) – достаточно старая программа для работы с текстовыми файлами, которая все еще актуальна и может быть полезной. Фактически Akelpad является более продвинутой версией стандартной программы Блокнот из Windows. С его помощью можно открывать текстовые файлы большого размера, которые не открываются в Блокноте, выполнять поиск и замену с использованием регулярных выражений и менять кодировку текста.

Для того чтобы изменить кодировку текста с помощью Akelpad файл нужно открыть в данной программе. Если после открытия файла текст не читается, то нужно воспользоваться меню «Файл – Открыть».

открыть файл в Akelpad

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

выбрать кодировку в Akelpad

Для того чтобы изменить текущую кодировку текста нужно воспользоваться меню «Файл – Сохранить как» и сохранить документ с указанием новой схемы кодирования.

изменить кодировку в 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
Регистрация: 19.02.2013

#1

20.11.2021 20:40:10

Добрый. В курилке я описал проект, но видимо никому кроме меня пока он не нужен)))

Курилка

Я почти реализовал задуманное, осталось подправить сохранение. Т.к. че то ниче не выходит. тем похожих вроде бы много, но как то сложна и запутанно.

Суть: требуесся сохранить лист 1( или содержимое ячейки А1) как текст в кодировке ANSI , хоть куды, дело 10е, но т.к. хороший тон описывать что требуется на выходе, то по хорошему сразу во временную папку винды

для понимания о кавычках, почему то сохраняет не

Код
StackHorizontal (DirectShowSource("G:\Врач.json"),DirectShowSource("G:\Генералиссимус.json")

а вот так

Код
"StackHorizontal (DirectShowSource("G:\Врач.json"),DirectShowSource("G:\Генералиссимус.json"))"

Прикрепленные файлы

  • Сравнение.xlsb (20.28 КБ)

 

New

Пользователь

Сообщений: 4934
Регистрация: 06.01.2013

 

mihail_ms

Пользователь

Сообщений: 169
Регистрация: 19.02.2013

,видел такое, как пользоваться этой функцией не понял.

Со своими функциями сталкивался. Обычно ее прописываешь потом как формулу. А тут че с ней делать. ХЗ

 

Юрий М

Модератор

Сообщений: 61089
Регистрация: 14.09.2012

Контакты см. в профиле

#4

20.11.2021 21:07:13

Цитата
mihail_ms написал:
В курилке я описал проект, но видимо никому кроме меня пока он не нужен

Не будет ответа здесь — в каком разделе создадите ЕЩЁ ОДНУ тему?

 

mihail_ms

Пользователь

Сообщений: 169
Регистрация: 19.02.2013

, , к чему это?
Тут конкретный вопрос, сохранить в кодировке такой то, текст из ячейки такой то.

Там просто обсуждение, в т.ч. если добрые люди скажут, нафига тебе эксель, в вба есть такие то волшебные строчки, делай батник и будет тебе счастье…
Ну или еще чего.

А может кто задаст мне вопрос вообще не потеме, на то она и курилка…
А это запрещено? Я же не дублировал темы…

 

New

Пользователь

Сообщений: 4934
Регистрация: 06.01.2013

#6

20.11.2021 21:22:42

Код
Sub Test()
Dim blResult As Boolean
    blResult = SaveTextToFile(Range("A1"), "C:\Temp\test.txt", "ANSI")
End Sub

Function SaveTextToFile(ByVal txt$, ByVal filename$, Optional ByVal encoding$ = "windows-1251") As Boolean
'https://excelvba.ru/code/SaveTextToFile
    ' функция сохраняет текст txt в кодировке Charset$ в файл filename$
    Dim FSO As Object, ts As Object, binaryStream As Object
    
    On Error Resume Next
    Err.Clear
    
    Select Case encoding$
        Case "windows-1251", "", "ANSI"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-16", "utf-16LE"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-8noBOM"
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = "utf-8": .Open
                .WriteText txt$
                Set binaryStream = CreateObject("ADODB.Stream")
                binaryStream.Type = 1: binaryStream.Mode = 3: binaryStream.Open
                .Position = 3: .CopyTo binaryStream        'Skip BOM bytes
                .flush: .Close
                binaryStream.SaveToFile filename$, 2
                binaryStream.Close
            End With
 
        Case Else
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = encoding$: .Open
                .WriteText txt$
                .SaveToFile filename$, 2        ' сохраняем файл в заданной кодировке
                .Close
            End With
    End Select
    SaveTextToFile = Err = 0
    DoEvents
End Function

Изменено: New20.11.2021 21:23:50

 

Юрий М

Модератор

Сообщений: 61089
Регистрация: 14.09.2012

Контакты см. в профиле

#7

20.11.2021 21:29:50

Цитата
mihail_ms написал:
к чему это?

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

 

mihail_ms

Пользователь

Сообщений: 169
Регистрация: 19.02.2013

#8

20.11.2021 21:40:59

NEW, cпасибо. Далее буду общаться сам с собой в курилке))) тут ругаются

Изменено: mihail_ms20.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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Сноски в windows word 2020
  • 0x803f8001 minecraft windows 10 edition
  • Как найти папку локал в windows 10
  • Windows vista professional key
  • Не работает лупа в windows 10 на панели задач