На «ё» бывают не только рестораны. Как разработчикам угрожают две буквы
Почему len(“ё”) в Python иногда возвращает 2, регулярка [а-яА-Я]+ отвергает слово «ёж», а стандартная нормализация Unicode пропускает фишинговые логины с кириллической «а»? Редакторы спорят, нужна ли буква «ё» в тексте, а разработчики ловят из-за неё баги в проде. На примерах в Python и PostgreSQL 18 разбираемся, как две точки над буквой влияют на хранение данных, почему расширение unaccent создаёт смысловые коллизии между «мелом» и «мёлом» и как правильно разделить нормализацию, полнотекстовый поиск и защиту от омоглифов.
https://habr.com/ru/articles/1106692/
#utf8 #unicode #python #регулярные_выражения #postgresql #полнотекстовый_поиск #омоглифы #нормализация_строк #авсмысленность #unaccent