Заставить git log отображать UTF8 в терминале Windows

Я начал использовать Windows Terminal в качестве инструмента командной строки git, но похоже, что корейские символы не печатаются должным образом, когда я набираю git log, например:

введите здесь описание изображения

Я также пробовал использовать cmd и powershell, но тоже самое. (нет скриншотов)

Но он правильно печатается в Git Bash, например:

введите здесь описание изображения

Что я искал и пробовал:

  • Ввод chcp 65001
  • Ввод set LC_ALL=C.UTF-8
  • Изменить настройки административного языка (см. эту статью )

И все вышеперечисленное не решило мою проблему. Есть ли какие-либо предложения по решению моей проблемы? Я хочу использовать терминал Windows, а не git bash :(


person MyBug18    schedule 15.07.2020    source источник
comment
Это не символы Unicode, это последовательности символов US-ASCII, <, E, C, > и т. д. Сам факт того, что один из терминалов, которые вы использовали, правильно отображал символы, доказывает это. Это также доказывает, что ни одно из изменений, которые вы пробовали, не было необходимо.   -  person Panagiotis Kanavos    schedule 15.07.2020
comment
Они генерируются вашей программой. Что делает эта программа? Почему он генерирует эти вещи? Что это за программа? Р наверное?   -  person Panagiotis Kanavos    schedule 15.07.2020
comment
@PanagiotisKanavos Это всего лишь git log. Я отредактирую его на свой вопрос.   -  person MyBug18    schedule 15.07.2020
comment
Это не просто. Windows изначально использует Unicode, а Linux — нет. Строки в Windows имеют кодировку UTF16 (в прошлом USCS-2). Системная локаль используется для преобразования однобайтового текста в Unicode в целях совместимости и вывода на консоль (до Windows Terminal). Linux, с другой стороны, предполагает, что все однобайтовые, в зависимости от кодировки LC_, чтобы решить, как обрабатывать байты в строках. git log использует переменную LC_ALL, чтобы решить, что выводить — закодированные байты или фактический текст.   -  person Panagiotis Kanavos    schedule 15.07.2020
comment
Это означает, что вам нужно либо set LC_ALL=C.UTF-8 перед вызвать git log, либо установить переменную среды на постоянной основе. Git Bash работает до того, как установит среду, необходимую git log, перед отображением командной строки. Он не предоставляет свою собственную консоль   -  person Panagiotis Kanavos    schedule 15.07.2020
comment
@PanagiotisKanavos Спасибо, я решил свой вопрос.   -  person MyBug18    schedule 15.07.2020
comment
Кстати, вы найдете довольно много похожих вопросов от специалистов по данным о Linux/MacOS, например, пользователи в Западной Европе пытаются загрузить либо восточноевропейский, либо китайский текст и обнаруживают, что их кодировки по умолчанию искажают текст. R и R Studio не могли обрабатывать несколько кодировок в течение нескольких лет, и некоторые пакеты R по-прежнему требуют изменения переменных среды для чтения файлов в других кодировках.   -  person Panagiotis Kanavos    schedule 15.07.2020