В настоящее время я сталкиваюсь с некоторыми проблемами с различными представлениями юникода специальных символов, особенно с ударениями или диэрезами и так далее. Я написал скрипт на Python, который анализирует несколько дампов базы данных и сравнивает значения между ними. Проблема в том, что в разных файлах эти специальные символы хранятся по-разному. В одних файлах эти символы складываются, в других разлагаются. Поскольку я хочу, чтобы строка всегда извлекалась из дампа в составном представлении, я попытался добавить следующую строку:
value = unicodedata.normalize("NFC", value)
Однако это решает мою проблему только в некоторых случаях. Например, для умляутов это работает как положено. Тем не менее такие символы, как ë, останутся в декомпозированной схеме (e͏̈).
Я выяснил, что между e и символом diaeresis есть символ COMBINING GRAPHEME JOINER (U+034F). Это нормально или это может быть причиной моей проблемы?
Кто-нибудь знает, как справиться с этой проблемой?