Вопрос или проблема
При переходе с bash на fish в Ubuntu WSL кодировка символов становится некорректной. Есть ли какая-либо переменная окружения, которую нужно передать в fish?
Ответ или решение
Когда вы переключаетесь с Bash на оболочку Fish в Ubuntu WSL (Windows Subsystem for Linux), вы можете столкнуться с проблемами, связанными с кодировкой символов. Это связано с тем, что Fish и Bash могут использовать разные настройки окружения по умолчанию, что может привести к проблемам с отображением символов, особенно если вы работаете с UTF-8 или другими специфическими кодировками.
Вот шаги, которые помогут вам исправить проблемы с кодировкой в Fish shell:
-
Проверьте кодировку терминала: Убедитесь, что ваш терминал настроен на использование кодировки UTF-8. Это можно сделать, проверив настройки терминала или выполнив команду из Bash:
echo $LANG
Вы должны увидеть что-то вроде
en_US.UTF-8
или аналогичное. Если это не так, вам нужно установить правильную кодировку. -
Настройка переменных окружения в Fish: В оболочке Fish необходимо убедиться, что переменные окружения установлены правильно. Откройте файл конфигурации Fish (обычно
~/.config/fish/config.fish
) и добавьте следующие строки:set -g LANG en_US.UTF-8 set -g LC_ALL en_US.UTF-8
Эти команды зададут переменные окружения, которые Fish будет использовать, и помогут устранить проблемы с кодировкой.
-
Проверьте шрифты: Убедитесь, что используемые вами шрифты в терминале поддерживают нужные вам символы. Для этого можно попробовать изменить шрифт на более универсальный, такой как "DejaVu Sans Mono" или "Fira Code".
-
Перезапустите Fish: После внесения изменений в конфигурацию, закройте и снова откройте терминал или выполните команду
exec fish
, чтобы перенастроить оболочку и убедиться, что новые настройки применяются. -
Тестирование: Проверьте работу кодировки, выполнив команду, которая выводит символы с различной кодировкой:
echo -e "\u2602 \u2603 \u2604"
Если все установлено правильно, символы должны отображаться корректно.
Если у вас всё еще возникают проблемы с кодировкой в Fish после выполнения вышеперечисленных шагов, возможно, стоит посмотреть настройки самого WSL или терминала, который вы используете (например, Windows Terminal, ConEmu и т. д.), так как проблемы кодировки могут также исходить от этих компонентов.
Следуя этим указаниям, вы сможете восстановить правильную кодировку символов при использовании Fish shell в Ubuntu WSL.