[Mysql wiki]由query=”set names utf8”引发的思考

最近在看opencart的代码,看到mysql类的时候,不太理解query=”set names utf8”具体的意义是什么,那时也没太注意。后来自己写了个简单的数据类从mysql抽取数据出来的时候,显示在页面的都是???号,也就是大家常说的乱码了。

想起之前的set names操作,于是就在类的__construct方法里面,加入了mysql_query(“SET NAMES ‘utf8′”,$this->connection);,然后一切都好了。

那为什么set names ‘utf8′会出现这样的效果?在我从数据库读取和写入数据的时候,中间的编码转换过程到底是什么样的?……这些问题涌上心头,还是动手写写测试,查查手册吧~

 

1.我的系统参数

Ubuntu11.04
Mysql 5.1.54(mysql>SELECT VERSION()查看)
PHP 5.3.5(php -n -v 查看)

 

2.set names utf8是什么意思

在CSDN上面有一篇很经典的文章,讲到这个问题,原来mysql_query(“set names ‘utf8′”)会导致mysql数据库的几个默认编码值发生变化,分别是character_set_client、character_set_connection,还有character_set_results。

那么,为什么这3个值到底是什么,为什么会影响字符的编码呢?下面基于各位前辈的资料,综合自己的理解,来讲下mysql的字符集问题。

 

【翻译】PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI

背景:

php的几个$_SERVER变量都有自己的应用场景的,但manual那里写的太抽象了,最后在stackoverflow那里看到,通过浅显的例子,生动的比较了PHP_SELF、PATH_INFO、SCRIPT_NAME和REQUEST_URI的不同之处,简单翻译在下面,算是mark下来。

正文:

一些展示这些变量不同之处的实际例子:

 

例子1.PHP_SELF跟SCRIPT_NAME只有在请求的url是如下格式的时候才会不同:

http://example.com/test.php/foo/bar

[PHP_SELF] =/test.php/foo/bar

[SCRIPT_NAME] =/test.php/

(看来PATH_INFO只有在这种在请求文件后再追加路径的情形下才发挥了自己作用,而这个时候$_SERVER['PATH_INFO']才有值)注意:在低于5.0版本的php中,这会有些许不同。

[Tool Wiki]怎么样在Eclipse下安装颜色主题

背景:不知道大家在平时的开发过程中使用的是什么类型的工具的呢?而我就比较喜欢用Eclipse了,因为它开源,而且支持非常多的开发语言,外加非常优秀的插件,插剥方便,整个开发工具看起来是非常轻量的。

 

起因:
程序员的眼睛对屏幕多会容易疲劳,而白屏我觉得就比较伤眼了,所以寻思在eclipse下有没办法可以把开发环境的背景由默认的白色,调整成类似vim那样的黑底,然后彩色的代码块呢,google了下,发现Felix H. Dahlke & Roger Dudler两位仁兄已经做了一个主题网站Eclipse Color Themes,并一直在维护着。

 

安装方法:
1.先安装一个Eclipse Color Theme plugin,在Eclipse 3.5 (Galileo)下,选择Help->Install New Software,在弹出的窗口中,在work with输入框中填入http://eclipse-color-theme.github.com/update ,勾选出现的选框,一直next下去就ok了。而在Eclipse 3.6 (Helios)下,可以通过Help→Eclipse Marketplace,搜索Eclipse Color Theme进行安装。

Hi,all 我决定去做一枚快乐的程序猿了

从广研实习到离开找工作,已经过半年了,当时的兴奋、冲动,离开后的悲伤、忧郁,我想,是时候给自己一个日期,一个点,一个驿站,放下所有这些的情绪,乃至不快乐……

仿佛所有的一切都印证了我之前在博客上写过的文章,还是生活本来就是自我实现的一场闹剧。但,不管怎么样,我还是选择了这样的一个现实,并在今天决定写下来,让自己,可以勇敢的面对未来将要面对的一切。

我想,我是自由的,还年轻,应该去追寻内心最本真想要的东西,但因为正年轻,难免意气用事,或许自己以为很清楚的东西,到头来却发现根本没有了解过。但,生活本来就是一个不断追寻和纠正自己的过程,我想,我会花一辈子的时间去弄清楚自己,一直思考下去。

以后这里,除了我喜欢的产品,还会有php、ubuntu、开源产品的介绍、底层原理、C++/C、算法等等,希望关注我博客的你,在看到这篇文章后,会对我的feed再做一个选择。

写下这样一篇文章真让我觉得舒畅,我是一个害怕寂寞的人,即使身处人堆里,仍然觉得冷.

2011年12月,我22岁,兜兜转转一个大圈,回到程序的路子上,写写代码,偶尔玩下摄影,觉得这也不算件坏事…

我想,我只是想换另外一种方式去理解并拥抱这个世界罢了…..

《引爆点》读书笔记呐

6月5日晚上,在新浪微博上看到了@大脸@key4ever转发的一个小女生遇害求助的贴,当时我的第一个反应就是转发和捐款。当天晚上的捐款从跟进这件事情的记者发布的数据来看,@支付宝担保交易有5000+多。

6月6日凌晨,我看了下@支付宝担保交易 的转发信,@了几个排名靠前的明星,比如姚晨,后面我自己又去查了新浪的广场,把媒体类的排在前几位的,还有一些草根的明星都@了遍,可惜效果都不大。同学跑过来笑我了,“你傻啊,一天都不知道有多少人@这些媒体报纸”,看来以后要用私信了。

不过后来我@了一个叫正结的前辈,当然是加V的了。隔天早上,通过@正结前辈的转发,我发的那个求助帖被转发了25次,不过我发现我写错了故事的主人公,把那个记者的名字说成了那个小女孩的……

至少我可以做一个伟大的读者

背景:互联网海量的信息并没有增加我的理解力,一味的浏览和接纳,缺少了自己的思考和咀嚼,反而少了阅读一本厚厚的书的耐性。我困惑、迷茫,Google Reader上永远读不完的1000+就在那里,但我却并未因为读完那些文章而加深了对某些事情的认知,我对问题的理解还是停留在单纯的拷贝理论上。我想,我需要阅读一些其他的东西,而不是仅仅获得资讯。于是,我找到了《如何阅读一本书》,一本教授你阅读技巧的书,一本启迪你如何让自己的心智成长的书。

how to read a book

它是一本什么样的书?

通过标题其实我们可以知道,《如何阅读一本书》是一本实用性的书,它里面教授给读者的是有关阅读方面的方法论,作者期望读者通过这样后天的阅读训练,增进自己的理解力,在阅读中获得心智的成长。

 

它具体包括哪些内容?

整本书围绕如何阅读一本书的话题展开,作者主要从阅读的四个层次去构建整本书的框架,通过阐述这4个阅读层次的关系,以及提供相关的阅读技巧来丰富整本书。

 

 

豆瓣系列[一]

背景:从大一开始认识豆娘到现在,发现蛮喜欢她的,做了两年多的知识记录,回过头来看,内心满是踏实的感觉。泡了两年,豆娘也是一路风雨兼程。一直想给这么个产品写自己的体验,见证豆娘的美丽和成熟,不过每每下笔,又怕人笑幼稚,好吧,就酱紫,不许笑,难得有机会去写这么一个系列的体验。(如果你对豆瓣不太了解的话,先看看豆瓣的发展历程,这样对豆瓣会清晰点。我对豆瓣的理解是,她是一个以书、影、音分享为主的知识型社区,以兴趣聚合同好。当然阿北的想法我是无法猜测的……)

[GM]在豆瓣看书,广工图书馆同步显示

 
背景:在看了华科和Light几位师兄做的一个插件,基于GMFF, 在豆瓣看书的同时,可以显示自己学校图书馆有没库存的信息。觉得这样的插件蛮实用的,而且实现上也不会太难,就自己尝试做了一个。下面的内容就来讲解下相 关的思路,以及我在做这个插件的过程中一些收获,特别是正则表达式和编码转换的理解,算是对自己这几天的一个小小总结。

preview of douban_GDUT

<插件效果示意图>

写在即将离开工作室的时候

张望搬走了,或许就像肥苏说的那样,当你习惯了某个人的存在的时候,他忽然的离去会让你觉得很不适应,我曾想去挽留他,但我没有…

超文那天早上打电话给我,我还在睡梦中,他说他要搬走了,心里凉了半截,深感无力,我不知道该说些什么好…

不小心打开肥苏的围脖,肥苏说她也要走了……

我想,大家是要离开的时候了,只是,想不到这天会来得如此突然,一切都还没准备好…….

那天,我们几个大三的,围坐在一起,聊了大家的过去,现在,还有将来。仿佛那是个应该早开的会,这样或许我们可以对某些事情有更多的了解。

那天晚上,望哥仔说他很担心自己不是计算机专业的,做PHP没优势。我说,你愿意为兴趣而做出这样的选择,如果我是HR,我会很欣赏你的勇气的,而且你学的很多计算机的东西都比我多,还比我了解的深,有什么好怕的呢…

才发现,原来我们都那么害怕未来,不愿过多的谈及,原来我们对自己都是那么的没有自信,都需要别人的肯定和鼓励,但在大二面前,在同届面前,我们都装成足够的坚强……

伟贤,谢谢你

凌晨1:07分,日子又过了一天,昨天还是感恩节,忘了对这个世界说声谢谢……

伟贤,谢谢你,给了我自信,指出了我的错误,让我有机会重新去审视自己……谢谢你今晚过来,跟大家分享你的经验,对很多人来说,你的讲话开了小小的门缝,却让我们看到了个全新的世界……

你说我是个完美主义者,其实完美没有不好,只是有时候太过理想色彩,反而看不清眼前的事实。我知道自己有时候做得太过了,对自己也好,对别人也好,总是要求过多,容易想到一边去…对于一个团队的领导者来说,这个很危险…

我应该学会去包容自己,然后包容身边的每个人,欣赏他们“不完美”的地方。肥熊从来不正经,聪老是闷骚的,肥苏怕事多,芬姐……好吧,我不应该总是看到他们的“缺点”,因为正是这些我看不惯的事情,才造就了这个可爱的工作室,才造就了一个个鲜活的我们……标叔说他们年轻时冒险跑过高速路去吃东西,我们还半夜煮肉丸呢,哈哈。

接受不完美的事实,我总不能要求过多……

看了标书的十年,感觉最深的,是他说的,一个团队不应该有对立的情绪,隔阂的产生是因为沟通的方式不是大家所喜闻乐见的。工作室虽然弄了技术交流会,但大家并不是很积极,而且商业项目的驱动毕竟有限,我想,工作室应该思考更多的方式让大家更好的交流和沟通。以后会经常去关注一些比赛项目的,我要开始写一些阶段性的目标了……

工大在线现在算是停下来了,你说我应该衡量下自己,明白整个大局,知道什么可为什么不可为。就算自己每天去更新,对工大在线也于事无补,运营需要的力量,远不止这些,你提醒了我,作为学生性质的网站,工大在线的前景,有着太多不确定的因素。工作室的每一个人都会为她坚持下去的,她是我们一手一脚,奋战多少个日夜做出来的…但正如你说的,先救自己,再救工大在线,先放手,再回来…

思绪乱了,不写了,谢谢你,伟贤,我想,我应该沉下心来,先把前端这关过了,深入下去,再去想别的……

最后的最后,改下包大叔的话,我们不是应该成为更好的设计师或者coder,而是应该成为一个更有能力的人!

About Me

IT界奇葩一朵,伪Geek,果敢的G粉。对互联网的事物好奇,时常有动手的冲动,梦想是改变世界...