该函数使用Google Places API返回半径内的地点。确切地说,我使用this库来处理任务。
问题是西里尔符号如下所示:
ÐОСбÐμÑ€±Ð°Ð½ÐºÐоÑÑии,КиÐμвÑкоμμ оÑ,Ð'ÐμлÐμниÐμâ-14
我尝试了these个建议。我也试过这个:
pname = place.name
uni = unicode(place.name)
而且:
convertedname = pname.encode(encoding='UTF-8', errors='strict')
没有任何帮助。我还能尝试什么?
答案 0 :(得分:0)
列表(字节阵列( “надра”))
[208,189,208,176,208,180,209,128,208,176]
那是UTF-8。如果输出终端设置为UTF-8,则基本上不需要编码或解码。但是读取该字符串的正确方法是使用string.decode('utf-8')
将其转换为正确的Unicode字符串,然后在输出到您的终端支持的任何编码之前对其进行编码(看起来模糊地像... code page 1250或{ {3}}?)。
iso-8859-2显示208(0xD0)以六种不同的编码映射到Đ,所以我猜想你正在使用其中一种。剩下的就是我的推测。
所以,基本上,
pname=place.name.decode('utf-8')
显然,您还需要将其编码为适合您控制台的输出编码,或者设置控制台以正确支持UTF-8。如果你的终端目前确实设置为cp1250,它根本不支持西里尔语输出。
答案 1 :(得分:0)
我的终端和浏览器编码是utf-8,问题出在浏览器中显示文本时。在webapp2 .py文件中取消注释后,问题解决了:
path = os.path.join(os.path.dirname(file), 'index.html')
self.response.out.write(template.render(path, template_values))
考虑模板和这样的东西。你的回答帮助我找到了解决方案。谢谢!