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

相關文章
相關標籤/搜索