Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save Eugene-Fed/6cd25080f37fbc250757e28c1fdbdfd5 to your computer and use it in GitHub Desktop.

Select an option

Save Eugene-Fed/6cd25080f37fbc250757e28c1fdbdfd5 to your computer and use it in GitHub Desktop.

Проблема кодировки в GitBash на Windows

При работе с GitBash на Windows часто возникают проблемы с кодировками:

  1. Кракозябры в названии коммитов на Github/Gitlab
  2. Битые символы вместо букв в интерфейсе Gitbash

Иногда можно встретить рекомендацию указывать в начале python-файла кодировку в формате
# -*- coding: utf-8 -*-,
однако на момент написания этой статьи (август 2025 года) -- это не помогает.

Разделим проблему с кодировкой на 2 отдельных и решим их по очереди.

1. Кодировка в интерфейсе консоли

Откройте редактор Переменых среды окружения одним из нижеперечисленных способов:

  • Откройте главное меню по кнопке Windows, далее укажите в Поиске "Переменные" и откройте инструмент "Изменение переменных среды текущего пользователя" image
    или
  • Нажмите Win+R, далее вставьте этот путь C:\Windows\System32\systempropertiesadvanced.exe и нажмите ОК
  • Нажмите кнопку "Переменные среды"
    image

1.1 Добавьте переменные окружения

  • Создайте переменную LC_ALL со значением C.UTF-8
  • Создайте переменную PYTHONIOENCODING со значением utf-8
image

1.2 Внесите глобальные правки в GUI (GitBash или PowerShell)

Укажите команду git config --global gui.encoding utf-8

Перезагрузите ПК, чтобы применились новые переменные среды, иначе правки могут не сработать.

2. Битая кодировка при выгрузке коммита на github/gitlab

Не так страшно увидеть иероглифы на личном ПК, куда хуже -- отгружать в рабочий удалённый репозиторий иероглифы вместо текста. Часто можно услышать предложение: "Пишите коммиты на английском," -- и это действительно помогает. Но если в команде это не является правилом, то почему бы не решить проблему, вместо её избегания?

Попробуйте сделать тестовый коммит после изменений, сделанных в 1-м пункте. Если проблема с кодировкой в origin-репозитории ещё актуальна, тогда дополнительно настроим локальный репозиторий.

2.1 Найдите файл .git/config

  • Включите отображение скрытых файлов и папок
    image

  • Откройте папку .git в локальном репозитории, далее откройте на просмотр файл config в любом удобном текстовом редакторе
    image

2.2 Отредактируйте файл .git/config

Добавьте эти строки в конец файла настроек:

[i18n]
    commitEncoding = UTF-8

После изменений перезагрузите GitBash и сделайте повторный тестовый коммит с описанием на кириллице.

2.3 Сохраните инструкцию

Настройка в .git/config распространяется только на тот репозиторий, где была внесена правка. Для каждого репозитория, с которым вы работаете, придётся указывать эту настройку отдельно, поэтому лучше держать необходимые изменения под рукой.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment