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

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

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

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

uliweb shell --notebook -Edot_fontname="fontname"

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

不过现在环境变量只在shell命令中实现了,下一步就把它做成全局的参数,让所有的命令行都可以使用这个参数。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

JS 苹果手机日期显示NaN问题

问题描述newDate("2019122910:30:00")在IOS下显示为NaN原因分析带的日期IOS下存在兼容问题解决方法字符串替换letdateStr"2019122910:30:00";datedateStr.repl