如何解决Folium地图不显示外语
所以让我开始说,我对字符编码了解不多。我正在使用folium在网页上嵌入folium渲染的地图,以显示Twitter趋势。但是,由于编码方式不正确,因此不会显示其他语言。我试图在他们的GitHub上查找问题。根据问题17,此问题已解决。虽然不是。
我的脚本获取我存储在数据库中的趋势,并将其插入到弹出窗口中。
'''
if connector.is_connected():cursor = connector.cursor()
query = 'SELECT * FROM trendsincities'
cursor.execute(query)
response = cursor.fetchall()
cursor.close()
connector.close()
for i,city in enumerate(response):
try:
folium.Marker([round(city[4],2),round(city[5],2)],popup = '<i>{} <i>'.format(city[6].split(' ')[:10]),tooltip = tooltip).add_to(m)
except Exception as e: print(e)
final_display = m._repr_html_()
print(final_display)
env = Environment( loader=PackageLoader('app','templates'),autoescape=select_autoescape(['html','xml']) )
template = env.get_template('trends.html')
map = template.render(map=final_display)
return map
'''
这是来自folium依赖项的函数_repr_html()-“ branca”
'''
def _repr_html_(self,**kwargs):
"""displays the figure in a Jupyter notebook."""
# Base64-encoded HTML is stored in a data-html attribute,which is used to populate
# the iframe. This approach does not encounter the 2MB limit in Chrome for storing
# the HTML in the src attribute with a data URI. The alternative of using a srcdoc
# attribute is not supported in Microsoft Internet Explorer and Edge.
***html = base64.b64encode(self.render(**kwargs).encode('utf8')).decode('utf8')***
onload = (
'this.contentDocument.open();'
'this.contentDocument.write(atob(this.getAttribute(\'data-html\')));'
'this.contentDocument.close();')
'''
有人可以解释这里到底发生了什么(用粗体显示)
UTF-8编码不适用于外语吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。