uliweb在notebook中显示graphviz的svg图时,显示中文乱码的处理

这几天基本完成了在IPython notebook中显示Model关系图的功能,在MAC下工做良好,可是到了windows下,中文字段描述为乱码,主要缘由是由于字体形成的。那么如何解决这个问题。在uliweb中,有两个地方会使用graphviz来生成svg图:命令行和IPython notebook环境中。对于命令行,我添加了能够经过命令行参数来传递字体名字的功能,因而能够在执行:web

uliweb sqldot -tuser -Tsvg -o x.xvg -f"fontname"

经过 -f 参数来处理。可是在IPython notebook环境中,由于我只但愿用户输入一个Model对象就显示,不但愿采用调用方法的方式,因而就想到经过环境变量来处理。因而添加了在启动notebook环境时,注入一个 dot_fontname 的环境变量,如:sql

uliweb shell --notebook -Edot_fontname="fontname"

这样,在显示svg图时,会自动从环境变量获取,并传入相应的api来生成svg文件。shell

不过如今环境变量只在shell命令中实现了,下一步就把它作成全局的参数,让全部的命令行均可以使用这个参数。windows