【发布时间】:2017-02-01 08:59:16
【问题描述】:
我在 Windows 上使用 Python 构建了一个关于越南餐馆的问答应用程序。要编写越南语字符,我需要使用 Unicode。
首先,我从使用 HTML charset=utf-8 的 TripAdvisor 网站克隆数据并构建我的 Mongo 数据库。 TripAdvisor中名为“đà nẵng”的城市有一个代码:
>>> print repr("đà nẵng") # from tripadvisor website
>>> '\xc4\x91a\xcc\x80 n\xc4\x83\xcc\x83ng'
但是,当我从 Firefox 的地址栏查询时,城市“đà nẵng”的代码不同:
>>> 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 1) 这不是问题 2) 只有在您的终端是 UTF-8 或您的代码编码是 UTF-8 时才会解码