На «ё» бывают не только рестораны. Как разработчикам угрожают две буквы

Habr ·

На «ё» бывают не только рестораны. Как разработчикам угрожают две буквы

Почему len(“ё”) в Python иногда возвращает 2, регулярка [а-яА-Я]+ отвергает слово «ёж», а стандартная нормализация Unicode пропускает фишинговые логины с кириллической «а»? Редакторы спорят, нужна ли буква «ё» в тексте, а разработчики ловят из-за неё баги в проде. На примерах в Python и PostgreSQL 18 разбираемся, как две точки над буквой влияют на хранение данных, почему расширение unaccent создаёт смысловые коллизии между «мелом» и «мёлом» и как правильно разделить нормализацию, полнотекстовый поиск и защиту от омоглифов. Читать далее

Источник: Habr