原文地址:http://lizi.blogbus.com/logs/12601515.html
XML/HTML代码
- 很多人使用JpGraph会出现乱码问题,但是网上有好多并无效果的解决方式,经过反复试验及在网上看了其它人的经验,总结出在2.3版下最终较完美解决方案
- 1、把simsun.ttc字体拷到服务器/usr/X11R6/lib/X11/fonts/truetype下,当然这个目录可以自定义
- 2、不需要更改$aFF === FF_SIMSUN或$aFF === FF_CHINESE ,直接用以下代码即可
- $title = "JpGraph中文测试";
- $title = iconv("UTF-8", "gb2312", $title);
- $graph->title->Set($title);
- 就可以完美的解决中文问题了
- 3、还有一个问题,就是右上方的中文显示问题,就是SetLegend函数,解决方式如下
- 打开jpgraph.php文件,找到
- private $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;
- 用
- private $font_family=FF_SIMSUN,$font_style=FS_NORMAL,$font_size=8;
- 替换就OK了^_^
后记:本来都忘了这个了,正好有朋友问起类似的问题,于是又GOOGLE了一下,找到了这个,记录一下,也为GOOGLE的收录作点贡献,这样以后再有人遇到类似问题,更容易被搜索到。
为了简化TM的签名,把TM上的一些信息保存到这里来。
TM的信息纯粹就是一个让我在任何可以上网的地方保存和交换网址的工具,以前没有BLOG,自然只能靠TM来保存,现在……可以交给BLOG来保存了。
» 阅读全文
妇女节,天气阴有小雨,陪媳妇到港汇兜了一圈。买了一点婴儿用品。
虽然baby还没有出来,但媳妇却挺当成一回事,买了点衣服和奶瓶,用我的话来说,是放在橱里长灰了,可是,不能打消她的积极性啊。最后拿上了300W的数码相机,用着并不娴熟的技术拍了几张照片,放到网上以贻大方。
先介绍一下array_diff函数
JavaScript代码
- array_diff -- 计算数组的差集
- 说明
- array array_diff ( array array1, array array2 [, array ...] )
-
-
- array_diff() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意键名保留不变。
-
- 注意: 两个单元仅在 (string) $elem1 === (string) $elem2 时被认为是相同的。也就是说,当字符串的表达是一样的时候。
-
- 注意: 注意本函数只检查了多维数组中的一维。当然可以用 array_diff($array1[0], $array2[0]); 检查更深的维度。
-
- ::::::本函数在 PHP 4.0.4 中是坏的! :::::
在网站的实际应用中,我们可能会用到TAG(标签),对标签的更新可能也会经常遇到,当然添加了之后不修改另作别论。
比如,我们为一条新闻添加了如下标签:新闻,CGX,艳照门 (开个玩笑,呵呵),存入数据库后,应该是在tag表里存入类似于这样的数据
XML/HTML代码
- id newsid tagname
- 1 1 新闻
- 2 1 CGX
- 3 1 艳照门
其中id是自增字段,newsid是新闻的ID,tagname是刚刚存入的标签(存的时候以逗号分隔)。
然而现实总是残酷的,XXX总局规定我们不得把“艳照门”作为关键字了,于是,我们不得不更新TAG(当然,直接从数据库里delete from table where tagname='艳照门'更方便,但这里我是在举例),于是新的TAG就可能变成了:新闻,CGX,其他图片。更新的时候,我们要从数据库里把“艳照门”去除掉,但怎么知道我把原来的标签“艳照门”删除了呢?这时候,array_diff就有用了。
PHP代码
- <?php
-
- $_POST['origin_tags'] = '新闻,CGX,艳照门';
-
- $_POST['news_tags'] = '新闻,CGX,其他图片';
-
- $origin_tags = explode( ',', trim( $_POST['origin_tags'] ) );
- $new_tags = explode( ',', trim( $_POST['news_tags'] ) );
-
- $diff_tags = array_diff( $origin_tags , $new_tags );
-
- echo "<pre>";
- print_r ( $diff_tags ) ;
- echo "</pre>";
-
- ?>
看,我们把“艳照门”打印出来了,于是,下一步我们就可以执行:DELETE FROM tablename WHERE news_id = 2 AND tagname = '艳照门';来删除这条记录,同时将新的数据插入数据库(新的数据判断重复可以采用array_intersect,使用方法与array_diff类似,这里就不提了,当然更方便的方法是把:$diff_tags = array_diff( $origin_tags , $new_tags ); 改为 $diff_tags = array_diff( $new_tags , $origin_tags );)
更新数据的方法有很多种,我在这里只是提出一个解决方案。希望大家能够给出其他更好的建议。
先做个记录,学习一下,有空的时候改进一下,毕竟这些可能会经常用到。
» 阅读全文