Ошибки APK

Буква ə в консоли становится квадратом

Если Python останавливается, на экране строка: UnicodeEncodeError: 'charmap' codec can't encode character '\u0259'. \u0259 — это буква ə. Заглавная Ə там же. Если программа работает, а на экране квадрат или ?, буква ушла, а шрифт её не рисует. Это две разные остановки.

Турецкие страницы пишут cp1254. В таблице Python есть ü, ö, ş, ğ, ç и ı. Буквы ə там нет. Поэтому то руководство эту букву не чинит.

Не меняй всё сразу. Проверяй причину по порядку.

  • Сохрани файл как UTF-8. В нижнем углу VS Code должно быть написано UTF-8. В Блокноте «Unicode» — это UTF-16, его не выбирай.
  • Если пишешь в файл, строка такая: open("metn.txt", "w", encoding="utf-8"). Без encoding Windows берёт турецкую таблицу и ə пропадает.
  • Если ошибка останавливает программу, не пиши errors="ignore" и cp1254. Первое удаляет ə. Во втором ə нет. В начале программы напиши sys.stdout.reconfigure(encoding="utf-8"), потом print("Azərbaycan").
  • Если программа работает, а буква квадрат, код не меняй. Поставь в терминале шрифт Cascadia Mono или Consolas.
  • chcp 65001 делает UTF-8 только открытое окно. Когда окно закроется, старая страница вернётся.

Буква æ — это не ə. Не ставь знак из турецкой таблицы на её место.

import sys
sys.stdout.reconfigure(encoding="utf-8")

print("Azərbaycan")

with open("metn.txt", "w", encoding="utf-8") as fayl:
    fayl.write("Azərbaycan\n")

Похожие руководства