今天做的事情

Dante posted @ 2014年7月14日 04:00 in IT技术 with tags php utf8 编码 , 1600 阅读

最近在实验室的服务器上部署了一个系统,这个系统是美国人开发的,当然不考虑中文问题(其实我也不考虑,大家做科研的,不用英文,过意得去么?)。但这个系统是要面向广大社会主义劳动人民的,所以要有中文支持。

老大测试的时候,说数据导入的时候,中文无法显示啊!约翰霍普金斯那边能正常显示啊!于是跑去看人家的主页,擦,版本不同。回头在自己的电脑上面部署了一个最新版。再测试,问题变成了乱码了。

其实,乱码总比无码好嘛!

因为伟大的防火墙的缘故,google很慢,所以老衲直接杀入去看源代码了。最后定位到一个函数,这个函数是将上传的数据文件整理成一个array的。里面用了一个函数utf8_encode,我嘟你啊!那根本不是中文编码好吗!于是把这个函数注释掉了,再测试。不对,没有变化,这乱码怎么还是一个德行?

所以昨天一直就在纠结这个问题,甚至我还亲自写了一点php代码(实验证明我的想法是对的!)乱码就是这个函数的错!

当然,在世界杯决赛之夜之后(我没看,我都在刷《安珀志》),我忽然发现了一个问题:我用的数据文件好像有点问题,它不是用逗号间隔的(默认是这种格式),而是用制表符分隔的,我只处理逗号分隔那部分的代码,没有处理制表符那部分。

于是,重新修改代码。OK,中文完美显示。

愉快又得意洋洋地发了邮件给老师们还有帮忙做测试的师妹。

回头把新版本的系统部署在实验室服务器上,部署完之后一测试,(╯‵□′)╯︵┻━┻!居然还是无法显示中文字符!

这叫神马!夙兴夜寐枉徒劳啊!

这不应该啊!!!!(╯‵□′)╯︵┻━┻!

冷静下来之后,比较一下我的系统和实验室服务器系统的区别,虽然实验室服务器上的系统是可以判反人类罪的CentOS,但是我还是不愿把问题归罪于它。

然后我发现,我自己机子上的php的版本比实验室服务器上的版本要新哦!

所以,死马当活马医,我动手升级php。

这个,如果因为升级而导致整个系统崩溃,那自然神作了。

不过,试问,如果真的崩溃了,我何来时间在这里写blog?

不但没有崩溃,而且问题解决了。

最后,把结果告诉老大和师妹之后,觉得在师妹面前的形象顿时高达了。

这个故事给我们的启示是:

1.#php是最好的语言!#

2.如果有一天,有人能把所有语言的编码统一起来,那么,Ta至少值十个诺贝尔奖和一本现代汉语词典中对人褒奖的词语。

Avatar_small
TomHall 说:
2014年7月15日 03:46

3. 师妹就是生产力

Avatar_small
V 说:
2014年7月18日 23:29

@TomHall: 神补充!

Avatar_small
Laguna 说:
2014年7月29日 13:24

来看一下顺便收个收藏夹

Avatar_small
Laguna 说:
2014年7月29日 13:25

师妹赛高!!
(顺便收到收藏夹

Avatar_small
Laguna 说:
2014年7月29日 13:26

(为什么时间这么奇怪……你这是哪个时区

以及刚才明明评论失败了为什么又发出去了
(连刷三条……


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter