folium.Marker 没有正确解码

folium.Marker does not does decode properly

我有一张名为 imap 的 folium 地图。 我创建了一个名为 test_mark 的字符串对象,它是一个字符串 'Coruña-Torre de Hércules: Presión: 964.4hPa'

test_mark = 'Coruña-Torre de Hércules: Presión: 964.4hPa'
folium.Marker(location=(43.30,-8.30),popup= test_mark, icon= folium.Icon()).add_to(imap)

当我检查地图上的标记时,我得到的是'Coruña-Torre de Hércules: Presión: 964.4hPa'。 我想这可能是某种编码问题,但我不知道如何解决它。

提前致谢

您可以通过 meta 标签为西班牙语添加 charset=windows-1252,例如

import folium

lt = 43.30
ln = -8.30

imap = folium.Map(location=[lt,ln],zoom_start=19)

test_mark  = '<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head>'
test_mark += '<strong>Coruña-Torre de Hércules: Presión: 964.4hPa<strong>'

imap.get_root().html.add_child(folium.Element(test_mark))

folium.Marker(location=[lt,ln],
              popup= test_mark,
              icon= folium.Icon()).add_to(imap)

imap.save('map.html')

只需将文本编码为 ascii,错误 xmlcharrefreplace,在 python 中,您可以这样做:str(x.encode('ascii', 'xmlcharrefreplace'))[2:-1]