У меня есть база данных, в которой есть испанские слова. Он содержит такие слова, как sueño, в которых есть «специальные символы». Для сортировки базы данных MySQL установлено значение utf-8-general-ci, которое поддерживает иностранные символы, поэтому с базой данных должно быть все в порядке.
У меня есть скрипт Python, который я запускаю в оболочке bash, и он возвращает все слова в базе данных, включая слово sueño. Проблема в том, что оболочка bash неправильно отображает слово «sueño». Символ n (с тильдой над ним) искажается при отображении в оболочке bash. Все остальные английские слова без специальных символов отображаются правильно.
Есть ли способ включить поддержку иностранных символов (специальных символов) в оболочке bash?
Спасибо, PR
Можете ли вы показать результат locale
команда?
пример:
LANG=en_CA.UTF-8
LANGUAGE=en_CA:en
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=
Если вы измените LANG
и LANGUAGE
env, вы сможете отображать эти символы в своем терминале. Вы можете провести такой простой тест:
LANG=en_CA.UTF-8; LANGUAGE=en_CA:en; echo ñ;
Если это сработает, возможно, вы захотите навсегда изменить свой языковой стандарт на язык UTF-8.