Использование функций unicode () и encode () в Python
у меня проблема с кодировкой путь переменная и вставка ее в SQLite
3 ответа:
вы используете
encode("utf-8")неправильно. В Python байт строки (strtype) имеют кодировку, Unicode - нет. Вы можете преобразовать строку Unicode в байтовую строку Python с помощьюuni.encode(encoding), и вы можете преобразовать строку байта в строку Юникода с помощьюs.decode(encoding)(или, что эквивалентно,unicode(s, encoding)).если
fullFilePathиpathв настоящее время astrтип, вы должны выяснить, как они кодируются. Например, если текущая кодировка UTF-8, вы бы использование:path = path.decode('utf-8') fullFilePath = fullFilePath.decode('utf-8')если это не исправить, фактическая проблема может заключаться в том, что вы не используете строку Unicode в своем
execute()позвоните, попробуйте изменить его на следующее:cur.execute(u"update docs set path = :fullFilePath where path = :path", locals())