Cacti月、年的流量图出现字母乱码:
为什么月、年的流量图下面的字母乱码?是由于rrdtool不支持中文导致的。我的情况更为严重,当图中出现中文时,rrdtool graph的时候索性就segment fault掉了。
因为中文环境下的日期显示会缺省的把星期和月显示成中文,以致于你的图上由于无法显示中文而出现乱码。
解决的办法有2种思路,一种就是让rrdtool显示英文的日期,一种就是让rrdtool支持中文。两种方法都牵涉到修改rrdtool的源代码。我采取的是第一种思路,让rrdtool不要去读中文环境的语言环境变量,强制让它用英文。
我是在编译rrdtool1.2时把src/rrd_graph.c文件中的这段内容改掉:
- setlocale(LC_TIME,"");
改成
- setlocale(LC_ALL,"en_US.ISO-8859-1");
然后再编译。这样就好了。如果还不行,你就把你的环境变量里的语言环境都改成英文:
- export LC_ALL=en_US
- export LANG=en_US
- export LANGUAGE=en_US
- export LC_CTYPE=en_US
- export LC_TIME=en_US
或者,你就索性根据abel老大的方法让rrdtool支持中文吧。
【编辑推荐】