Я построил вопрос, отвечающий за приложение с точки зрения ресторанов во Вьетнаме, используя Python для Windows. Для написания вьетнамских символов мне нужно использовать Unicode.
Во-первых, я клонировал данные с сайта TripAdvisor, который использовал HTML charset = utf-8 и создал мою базу данных Mongo. Город под названием «Джа Нанг» в TripAdvisor имеет код:Одно и то же слово, но разные символы юникода
>>> print repr("đà nẵng") # from tripadvisor website
>>> '\xc4\x91a\xcc\x80 n\xc4\x83\xcc\x83ng'
Однако, когда я запрос в адресной строке браузера Firefox, город «Джа Нанг» имеет код:
>>> print repr("đà nẵng") # Firefox's address bar
>>> '\xc4\x91\xc3\xa0 n\xe1\xba\xb5ng'
То есть причина, по которой я не могу найти этот город в моей базе данных. Я стараюсь писать это название города на Notepad ++ и получил тот же результат, используя адресную строку Firefox,
>>> print repr("đà nẵng") # notepad++ using 'Encoding UTF-8'
>>> '\xc4\x91\xc3\xa0 n\xe1\xba\xb5ng'
Есть ли способ преобразования между двумя типами коды?
Или есть ли способ сопоставить название города «đà nẵng» с разными кодами в этом случае ?.
Попробуйте использовать str («đà nẵng», 'utf-8') – Nether
@Nether 1) это не проблема 2), которая будет расшифровывать только, если ваш терминал UTF-8 или ваша кодировка кода UTF-8 –