System chcp 1251 nul для чего

System chcp 1251 nul

Команда CHCP используется для просмотра или изменения текущей кодовой страницы в окне командной строки Windows. Кодовая страница (Code Page или сокращенно CP) определяет соответствие между двоичным кодом и соответствующим ему символом, отображаемом на экране. Для кодирования текстов на русском языке (то есть букв кириллицы) наиболее широко применяются следующие кодовые страницы:

– Windows-1251, она же Microsoft code page 1251 (CP1251) в операционных системах семейства Windows;

– Кодовая страница CP866, она же IBM code page 866 — в операционных системах семейства DOS, а также в приложениях командной строки Microsoft Windows;

Примеры использования команды CHCP:

chcp – отобразить текущую кодовую страницу.

chcp 1251 – установить кодовую страницу, соответствующую Windows-кодировке.

chcp 866 – установить кодовую страницу, соответствующую DOS-кодировке.

При создании командных файлов, необходимо учитывать то обстоятельство, что текст на русском языке должен быть представлен в DOS-кодировке.

В данной статье пойдёт речь о кодировках в Windows. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет. Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».

Тем, кто ещё не понимает, о чём проблема, то вот Вам:

System chcp 1251 nul для чего. UTt3VeXV. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-UTt3VeXV. картинка System chcp 1251 nul для чего. картинка UTt3VeXV

А тут было написано:

Но никто ничего не понял.

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

1. Настройка консоли в батнике

Сразу для тех, кто пишет chcp 1251 лучше написать это:

Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

System chcp 1251 nul для чего. z9ULy5OW. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-z9ULy5OW. картинка System chcp 1251 nul для чего. картинка z9ULy5OW

Не бойтесь, у Вас откроется код Вашего батника, а затем Вам нужно будет сделать следующие действия:

System chcp 1251 nul для чего. b7luV6O3. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-b7luV6O3. картинка System chcp 1251 nul для чего. картинка b7luV6O3

Если Вам ничего не помогло, то преобразуйте в UTF-8 без BOM.

2. Написание консольных программ
Нередко люди пишут консольные программы(потому что на некоторых десктопные писать невозможно), а кодировка частая проблема.

Первый способ непосредственно Notepad++, но а если нужно сначала одну кодировку, а потом другую?

Сразу для использующих chcp 1251 пишите это:

Второй способ это написать десктопную программу, или же использовать Visual Studio. Если же не помогает, то есть первое: изменение кодировки вывода(Пример на C++).

Если же не сработает:

3. Изменение chcp 1251
Если же у Вас батник, то напишите в начало:

Теперь у Нас будет нормальный вывод в консоль. На других языках (С++):

4. Сделать жизнь мёдом
При использовании данного способа Вы не сможете:

Установить Windows 10. Там кодировка консоли специально подходит для языка страны, и Вам больше не нужно будет беспокоиться об этой проблеме. Но у Вас появится ещё 6 проблем, и вернуться к предыдущей лицензионной версии Windows Вы не сможете.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Здравствуйте.
В консольных программах не выводятся русские символы.
Думаю, виновата сама консоль — различная кодировка в консоли (CP-866) и Dev-е (CP-1251).
В нормальных текстовых редакторах всегда менял кодировку в настройках, тут не нашел.

Короче, может нужно менять кодировку в консоли, либо в Dev-e. Как это сделать?
Благодарю за советы.

> Ну и если используешь printf, то юзай так:
printf(«%lc
«, 0x0450);

Впрочем, лучше из консоли, так правильнее.
Спасибо Вам за помощь)

using namespace std;

int main() nul»);
cout
#include

Источник

chcp 1251 nul что это

Команда CHCP используется для просмотра или изменения текущей кодовой страницы в окне командной строки Windows. Кодовая страница (Code Page или сокращенно CP) определяет соответствие между двоичным кодом и соответствующим ему символом, отображаемом на экране. Для кодирования текстов на русском языке (то есть букв кириллицы) наиболее широко применяются следующие кодовые страницы:

— Windows-1251, она же Microsoft code page 1251 (CP1251) в операционных системах семейства Windows;

— Кодовая страница CP866, она же IBM code page 866 — в операционных системах семейства DOS, а также в приложениях командной строки Microsoft Windows;

Примеры использования команды CHCP:

chcp — отобразить текущую кодовую страницу.

chcp 1251 — установить кодовую страницу, соответствующую Windows-кодировке.

chcp 866 — установить кодовую страницу, соответствующую DOS-кодировке.

При создании командных файлов, необходимо учитывать то обстоятельство, что текст на русском языке должен быть представлен в DOS-кодировке.

Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

chcp 866; chcp 1251; chcp 65001 — не помогали.

Оказывается надо в свойствах самого cmd выбрать шрифт Lucida Console. Только так можно получить нормальный текст на русском языке.

Спасшая статья:

Приложение cmd.exe – это командная строка или программная оболочка с текстовым интерфейсом (во загнул ).

Запустить командную строку можно следующим способом: Пуск → Выполнить → вводим в поле команду – cmd и жмем ОК. В итоге откроется рабочее окно программы – c:WINDOWSsystem32cmd.exe. ( рис.1)

System chcp 1251 nul для чего. 42. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-42. картинка System chcp 1251 nul для чего. картинка 42

Перейдем собственно к проблеме: иногда вместо русских букв при выполнении команд выходит набор непонятных символов ( рис.2).

System chcp 1251 nul для чего. 41. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-41. картинка System chcp 1251 nul для чего. картинка 41

Первым делом нужно зайти в свойства окна – правой кнопкой щелкнуть по верхней части окна → Свойства → выйдет окно рис.3, здесь в поле Шрифтвыбираем Luc >ОК.

System chcp 1251 nul для чего. 43. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-43. картинка System chcp 1251 nul для чего. картинка 43

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

System chcp 1251 nul для чего. 44. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-44. картинка System chcp 1251 nul для чего. картинка 44

Для изменения кодировки так же применим chcp в следующем формате:

Где – это цифровой параметр нужного шрифта, например,

1251 – Windows (кириллица);

Выбирайте на любой вкус. Т.о. что бы изменить кодировку на UTF-8 нужно выполнить команду chcp 65001.

System chcp 1251 nul для чего. almix 1350459937. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-almix 1350459937. картинка System chcp 1251 nul для чего. картинка almix 1350459937

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

В данной статье пойдёт речь о кодировках в Windows. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет. Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».

Тем, кто ещё не понимает, о чём проблема, то вот Вам:

System chcp 1251 nul для чего. UTt3VeXV. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-UTt3VeXV. картинка System chcp 1251 nul для чего. картинка UTt3VeXV

А тут было написано:

Но никто ничего не понял.

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

1. Настройка консоли в батнике

Сразу для тех, кто пишет chcp 1251 лучше написать это:

Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

System chcp 1251 nul для чего. z9ULy5OW. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-z9ULy5OW. картинка System chcp 1251 nul для чего. картинка z9ULy5OW

Не бойтесь, у Вас откроется код Вашего батника, а затем Вам нужно будет сделать следующие действия:

System chcp 1251 nul для чего. b7luV6O3. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-b7luV6O3. картинка System chcp 1251 nul для чего. картинка b7luV6O3

Если Вам ничего не помогло, то преобразуйте в UTF-8 без BOM.

2. Написание консольных программ
Нередко люди пишут консольные программы(потому что на некоторых десктопные писать невозможно), а кодировка частая проблема.

Первый способ непосредственно Notepad++, но а если нужно сначала одну кодировку, а потом другую?

Сразу для использующих chcp 1251 пишите это:

Второй способ это написать десктопную программу, или же использовать Visual Studio. Если же не помогает, то есть первое: изменение кодировки вывода(Пример на C++).

Если же не сработает:

3. Изменение chcp 1251
Если же у Вас батник, то напишите в начало:

Теперь у Нас будет нормальный вывод в консоль. На других языках (С++):

4. Сделать жизнь мёдом
При использовании данного способа Вы не сможете:

Установить Windows 10. Там кодировка консоли специально подходит для языка страны, и Вам больше не нужно будет беспокоиться об этой проблеме. Но у Вас появится ещё 6 проблем, и вернуться к предыдущей лицензионной версии Windows Вы не сможете.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Источник

Что означают эти функции?

Добавлено через 40 минут
ещё сразу вопрос, почему в этой программе нет функции memset() для обнуления памяти

Объяснить, что означают строки кода
float res = 0; res += f(a); res += f(b); res += f((a + b)/2); res /=3; объясните.

3)Зачем обнулять? Вы выделили диапазон памяти для массива и сразу же его заполнили.

Добавлено через 1 минуту
Это работает?

Adrian_One, всё работает, я просто спросил. Это язык Си.

Добавлено через 8 минут
Adrian_One, на счёт memset().. у нас в методичке просто сказано:
после использования функции malloc всегда проверять, успешно ли выделилась память! (проверять указатель на NULL).
После выделения память всегда нужно инициализировать! (memset())

вообще-то это одномерный массив, а двумерным он «становится» из-за магии указателей (a + i * m + j) и *(a + i * m + j) в циклах.

2 гетчара из-за кривизны функции scanf(), которая любит оставлять после себя символ ‘\n’ в потоке ввода.

я не это имел в виду, к двумерному массиву int ** a; вы можете обращаться стандартным способом: a[i][k], однако к массиву выделенному таким образом данная «магия» не применима, поскольку он является одномерным, т.е. int * a; и обращаться к нему получится только как a[i] без доступа ко «второму измерению» штатными средствами. Для чего используется пляска с бубном и указателями.

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

Источник

Вывод кириллицы в консоли

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Пробую вывести тесте в консоли в кириллице наиболее простым и универсальным способом (без написания дополнительных функций)- ничего не получается. Перепробоавл все известные мне способы:

23 ответа

System chcp 1251 nul для чего. 67551. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-67551. картинка System chcp 1251 nul для чего. картинка 67551

В чем проект написан/собираешь?

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Проект полностью создается в Dev-C++ 5.2.0.0. Пытался делать его в Юникод, но не нашёл в Dev-C++ такой возможности.

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Нет, просто, если я в таком коде:

/*
OemToChar() для возвращаемого из cin
*/

using namespace std ;

cout «Введите строку \n » ;

OemToChar ( str, str ) ;

cout «Введена str: » str endl ;

уберу OemToChar, то перековеркается вывод последний.

А Вам может поможет материал с этого сайта, где обсуждалась эта проблема (здесь). Возможно у Вас сработает ф-ция SetConsoleCP(1251).

System chcp 1251 nul для чего. 28831. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-28831. картинка System chcp 1251 nul для чего. картинка 28831

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Заработало! И ввод и вывод. Но только для Utf-8. С win1251 отпал даже вывод :). Для юникод:

//Codec for this source is UTF-8

using namespace std ;
int main ( ) <
setlocale ( LC_ALL, «.OCP» ) ;
wchar_t prompt [ 21 ] = L «Введите строку. » ;
wstring wstr ;
wcout prompt endl ;
wcin >> wstr ;
wcout L «Введено: » wstr ;

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Методом «тыка» удалось и Win1251 победить:

//Codec for this source is Win1251

using namespace std ;
int main ( ) <
setlocale ( LC_ALL, «.OCP» ) ;
char prompt [ 21 ] = «Введите строку. » ;
wstring str ;
wcout prompt endl ;
wcin >> str ;
wcout «Введено: » str ;

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

А у меня в этом коде:

#include
#include //для std::setlocale()

int main ( )
<
std :: setlocale ( LC_ALL, «» ) ;
std :: wcout L «Привет, мир!» std :: endl ;
>

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

А как Вы в Code::Blocks в UTF переводите?
Хотя, конечно, это гиморно очень. GCC что-то ни один способ, кроме написания отдельной функции, не принимает. А хочется универсальности под любой компилятор и поменьше букововк в коде

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. 457. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-457. картинка System chcp 1251 nul для чего. картинка 457

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Нормально всё «кириллизуется» через использование setlocale(LC_ALL, «.OCP») и std::wcout.
Но вот есть строка
const string x = = «Привет, » + name + «!»;
, на которой этот вроде бы рабочий костыль вылетает (т.е. выводятся опять кракозябры). Т.е.
std::wcout

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Вобщем, вот такое решение подсказывает коллективный разум (вроде работает всегда и везде). Т.е. полностью сплагиаченный код:

#include
#include
#include
#include
#include

using namespace std ;

// Перекодировщики из cp1251 в 866 и обратно функциями WinAPI: CharToOem() и OemToChar()
namespace details <

int main ( )
<
string name ;
cout oemFromAnsi ( «Введите Ваше имя: » ) ;
cin >> name ;
cout endl ;

// Если name не обработать с помощью ansiFromOem, то значение name отобразится кракозябрами
string greeting = «Привет, » + ansiFromOem ( name ) + «!» ;
cout oemFromAnsi ( greeting ) ;
return 0 ;
>

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

//Codec for this source is UTF-8

#include
#include
#include
#include

using namespace std ;

setlocale ( LC_ALL, «.OCP» ) ;

wchar_t prompt [ ] = L «Введите слово: » ;
wstring wstr ;
wcout prompt ;
wcin >> wstr ;
wcout L «Введено: » wstr endl endl ;

wstring wstr1 = L «Введите ваше имя: » ;
wcout wstr1 ;
wstring n ;
wcin >> n ;
wstring ans = L «Привет, » + n + L «!» ;
wcout ans endl endl ;

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

Будет работать и в Linux, если вместо setlocale(LC_ALL, «.OCP») написать setlocale(LC_ALL, «») (установка системной локали). Можно вообще сделать код универсальным через условную компиляцию. Вроде такого:

#define LINUX_CON //если Линукс.

using namespace std ;

int main ( ) <
#ifdef LINUX_CON
setlocale ( LC_ALL, «» ) ; //системная
#else
setlocale ( LC_ALL, «.OCP» ) ; //OEM
#endif
.
и т.д.,как ранее

System chcp 1251 nul для чего. noavatar32. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-noavatar32. картинка System chcp 1251 nul для чего. картинка noavatar32

//Кодировка файла Windows-1251
#include
#include
#include

//При использовании функций настройки консоли русские буквы будут отображаться
//правильно, если для консольного окна выбран шрифт Lucida Console. Для выбора
//шрифта нужно щелкнуть правой кнопкой мыши по заголовку окна, выполнить команду
//Свойства, а затем на вкладке Шрифт выбрать нужный шрифт.

//По материалу статьи:
//»Локализация консольных приложений в языке С++» В.Л.Тарасов

using namespace std ;

int main ( ) <
SetConsoleCP ( 1251 ) ;
SetConsoleOutputCP ( 1251 ) ;

char Name [ 100 ] ;
cout «Имя: » ;
cin >> Name ;
cout «Привет, » Name endl ;

//Кодировка файла Windows-1251
//Работает, если шрифт в консоли Lucida Console
#include
#include //для system
#include

using namespace std ;

Источник

Chcp 1251 nul что это

Команда CHCP используется для просмотра или изменения текущей кодовой страницы в окне командной строки Windows. Кодовая страница (Code Page или сокращенно CP) определяет соответствие между двоичным кодом и соответствующим ему символом, отображаемом на экране. Для кодирования текстов на русском языке (то есть букв кириллицы) наиболее широко применяются следующие кодовые страницы:

– Windows-1251, она же Microsoft code page 1251 (CP1251) в операционных системах семейства Windows;

– Кодовая страница CP866, она же IBM code page 866 — в операционных системах семейства DOS, а также в приложениях командной строки Microsoft Windows;

Примеры использования команды CHCP:

chcp – отобразить текущую кодовую страницу.

chcp 1251 – установить кодовую страницу, соответствующую Windows-кодировке.

chcp 866 – установить кодовую страницу, соответствующую DOS-кодировке.

При создании командных файлов, необходимо учитывать то обстоятельство, что текст на русском языке должен быть представлен в DOS-кодировке.

Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

chcp 866; chcp 1251; chcp 65001 – не помогали.

Оказывается надо в свойствах самого cmd выбрать шрифт Lucida Console. Только так можно получить нормальный текст на русском языке.

Спасшая статья:

Приложение cmd.exe – это командная строка или программная оболочка с текстовым интерфейсом (во загнул ).

Запустить командную строку можно следующим способом: Пуск → Выполнить → вводим в поле команду – cmd и жмем ОК. В итоге откроется рабочее окно программы – c:WINDOWSsystem32cmd.exe. ( рис.1)

System chcp 1251 nul для чего. 42. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-42. картинка System chcp 1251 nul для чего. картинка 42

Перейдем собственно к проблеме: иногда вместо русских букв при выполнении команд выходит набор непонятных символов ( рис.2).

System chcp 1251 nul для чего. 41. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-41. картинка System chcp 1251 nul для чего. картинка 41

Первым делом нужно зайти в свойства окна – правой кнопкой щелкнуть по верхней части окна → Свойства → выйдет окно рис.3, здесь в поле Шрифтвыбираем Luc >ОК.

System chcp 1251 nul для чего. 43. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-43. картинка System chcp 1251 nul для чего. картинка 43

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

System chcp 1251 nul для чего. 44. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-44. картинка System chcp 1251 nul для чего. картинка 44

Для изменения кодировки так же применим chcp в следующем формате:

Где – это цифровой параметр нужного шрифта, например,

1251 – Windows (кириллица);

Выбирайте на любой вкус. Т.о. что бы изменить кодировку на UTF-8 нужно выполнить команду chcp 65001.

System chcp 1251 nul для чего. almix 1350459937. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-almix 1350459937. картинка System chcp 1251 nul для чего. картинка almix 1350459937

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

В данной статье пойдёт речь о кодировках в Windows. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет. Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».

Тем, кто ещё не понимает, о чём проблема, то вот Вам:

System chcp 1251 nul для чего. UTt3VeXV. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-UTt3VeXV. картинка System chcp 1251 nul для чего. картинка UTt3VeXV

А тут было написано:

Но никто ничего не понял.

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

1. Настройка консоли в батнике

Сразу для тех, кто пишет chcp 1251 лучше написать это:

Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

System chcp 1251 nul для чего. z9ULy5OW. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-z9ULy5OW. картинка System chcp 1251 nul для чего. картинка z9ULy5OW

Не бойтесь, у Вас откроется код Вашего батника, а затем Вам нужно будет сделать следующие действия:

System chcp 1251 nul для чего. b7luV6O3. System chcp 1251 nul для чего фото. System chcp 1251 nul для чего-b7luV6O3. картинка System chcp 1251 nul для чего. картинка b7luV6O3

Если Вам ничего не помогло, то преобразуйте в UTF-8 без BOM.

2. Написание консольных программ
Нередко люди пишут консольные программы(потому что на некоторых десктопные писать невозможно), а кодировка частая проблема.

Первый способ непосредственно Notepad++, но а если нужно сначала одну кодировку, а потом другую?

Сразу для использующих chcp 1251 пишите это:

Второй способ это написать десктопную программу, или же использовать Visual Studio. Если же не помогает, то есть первое: изменение кодировки вывода(Пример на C++).

Если же не сработает:

3. Изменение chcp 1251
Если же у Вас батник, то напишите в начало:

Теперь у Нас будет нормальный вывод в консоль. На других языках (С++):

4. Сделать жизнь мёдом
При использовании данного способа Вы не сможете:

Установить Windows 10. Там кодировка консоли специально подходит для языка страны, и Вам больше не нужно будет беспокоиться об этой проблеме. Но у Вас появится ещё 6 проблем, и вернуться к предыдущей лицензионной версии Windows Вы не сможете.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *