我有這個URL https://českébudějovice.mysite.com/,這是捷克城市的名字。當有人訪問該網址時,我提取子域並查詢城市模型對象。所以,我有Django的城市模型,並可以成功查詢該城市通外殼:Python Django中的捷克unicode問題
>> City.objects.get(name='českébudějovice')
>> <City: České Budějovice, Czech Republic>
但是今天我在生產收到了異常的哨兵說,「城市匹配查詢不存在」,網址是這個樣子:
xn--eskbudjovice-deb41c5g.mysite.com
很顯然,我沒有一個城市名稱爲「XN - eskbudjovice-deb41c5g」因此,我發現了「城市匹配查詢不存在」的錯誤。
我一直在試圖將那個奇怪的子域名轉換成實際的名字,但沒有運氣。我已經試過如下:
>> s='xn--eskbudjovice-deb41c5g'
>> print s.encode('utf8')
>> xn--eskbudjovice-deb41c5g
我使用CloudFlare的,我不知道它是否以某種方式轉換網址這種形式,而不是爲它服務爲Unicode到我的服務器。
域名中的編碼不是utf8。請參閱https://en.wikipedia.org/wiki/Internationalized_domain_name。 – pvg