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 (将#修改为@)