歡迎您光臨本站 註冊首頁

關於rrdtool支持中文的解決辦法。

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

關於rrdtool支持中文的解決辦法。

開始使用RRDtool的時候以為只能用英文,後來google一下,隱約的發現酷學園和 chinaunix上有人解決這個問題,不過都是2005年的事情了,那時候RRDtool功能剛開始支持中文,幾位高人 忙了很久,解決了這個問題。近期沒有人提這個問題,似乎是RRDtool功能提升,這個問題迎刃而解了,我來操刀小試:說來慚愧,我按照先人的方法搞了很 久,又是修改又是編譯,搞了一天半,最後終於休成正果,和大家分享一下,不也不能確切指出你的問題所在,不過試試以下套路:

1. locale 設置


        locale 一下看看你的結果,我的是:
LANG=zh_CN.utf8
LANGUAGE=zh_CN.utf8:en_US
LC_CTYPE=zh_CN
LC_NUMERIC=zh_CN
LC_TIME=en_US
LC_COLLATE=zh_CN
LC_MONETARY=zh_CN
LC_MESSAGES=zh_CN
LC_PAPER=zh_CN
LC_NAME=zh_CN
LC_ADDRESS=zh_CN
LC_TELEPHONE=zh_CN
LC_MEASUREMENT=zh_CN
LC_IDENTIFICATION=zh_CN
LC_ALL=
        LANG/LANGUGE:是和語言相關的環境變數,使用多種語言的用戶要修改此環境變數,LC_TIME是時間軸lable用的。如果你要顯示中文,設置的值中應該有zh,比如:zh_CN;zh_CN.utf8;zh_CN.bgk;zh_CN.bg2132;zh_CN.gb18010。至於你的系統支持哪些語言編碼,locale -a 看看,我的系統:
POSIX
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US
en_US.utf8
en_ZA.utf8
en_ZW.utf8
zh_CN
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK.utf8
zh_SG.utf8
zh_TW
zh_TW.utf8
       設置方法可以export LANG=zh_CN.utf8(臨時的方法),或者修改一個叫i18n的文件(linux),我用的Ubuntu,在 /etc/environment中添加LANG=zh_CN.utf8  LANGUAGE=zh_CN.utf8,/etc/profile和~/.bashrc也都行。

2.選擇字體

        好像linux下字體與windows的不完全一樣,不管怎樣,把你要用的字體栲過來,試一下就行了,搞笑的是我用simsun.ttc10號的能顯示,9號的就不行。所以別放棄,多試兩種字體,當然,馬上說怎麼試。



3.RRDtool顯示中文

        借用http://blog.csdn.net/ysuncn/archive/2007/08/06/1728709.aspx中的例子,給一段畫圖代碼:
rrdtool graph speed.png -t "祝賀success" \
          --start 920804400 --end 920808000 --vertical-label km/h \
          DEF:myspeed=test.rrd:speed:AVERAGE \
          LINE2:myspeed#FF0000:"我的速度" COMMENT:"\c" \
          COMMENT:"更新時間\:  `date \"+%Y/%m/%d %H\:%M\:%S\"`" \
          --font TITLE:18:SIMLI.TTF --font LEGEND:8:simsun.ttc \
          -W "ysuncn hehe"
        出圖:
http://p.blog.csdn.net/images/p_blog_csdn_net/ysuncn/325552/o_speed.png

        恭喜!ps:注意字體的路徑,我的是在當前目錄下:-


這個是從網上找來的,可是具體怎操作?locale怎麼配置?


[火星人 ] 關於rrdtool支持中文的解決辦法。已經有902次圍觀

http://coctec.com/docs/service/show-post-31756.html