Вначале я использовал VARCHAR, по крайней мере, пока не обнаружил, что он предположительно не поддерживает Unicode, по этой причине я затем переключился на NVARCHAR. Однако я столкнулся с необходимостью вставки недопустимых данных Unicode в базу данных (исходя из того факта, что на Linux пути являются произвольными байтами и, следовательно, могут содержать испорченные данные Unicode).
Так что теперь мне нужно переключиться тип данных снова, но я нахожусь в тупике на возможностях. После просмотра документов SQLite; ниже приводится «только небольшое подмножество имен типов данных, которые будет принимать SQLite»:
- CHARACTER
- VARCHAR
- VARYING CHARACTER
- NCHAR
- NATIVE CHARACTER
- NVARCHAR
- TEXT
- CLOB
Мне известна возможность сохранения путей к файлам с BLOB, но некорректно хранить текстовые данные в большинстве случаев как BLOB.
Есть ли предпочтительный тип данных / idiomati c SQL для этого использования? -case: текст, поддерживающий Юникод большую часть времени ?
Если возможно, этот тип данных должен прозрачно преобразовываться в Python str
тип данных с surrogateescapes (surrogateescapes - это Python способ по-прежнему иметь возможность представлять ошибочные пути к файлам с помощью str
).
Я не смог найти помощь для этого варианта использования, прибегая к помощи Google, поэтому я буду признателен любому помощь или указатели здесь!