下面要写的是一篇非常无聊的东西,充斥了大量各式各样的编码、转换、客户端、服务器端、连接……呃,我自己都不愿意去看它,但想一想,写下来还是有点意义的,原因有四:
MySQL 4.1 对多语言的支持有了很大变化 (这导致了问题的出现); 尽管大部分的地方 (包括个人使用和主机提供商),MySQL 3 仍然占主导地位;但 MySQL 4.1 是 MySQL 官方推荐的数据库,已经有主机提供商开始提供并将会越来越多; 许多 PHP 程序以 MySQL 作为默认的数据库管理软件,但它们一般不区分 MySQL 4.1 与 4.1 以下版本的区别,笼统地称“MySQL 3.xx.xx 以上版本”就满足安装需求了; 因为 latin1 在许多地方 (下边会详细描述具体是哪些地方) 作为默认的字符集,成功的蒙蔽了许多 PHP 程序的开发者和用户,掩盖了在中文等语言环境下会出现的问题;
简单的说,MySQL 自身的变化和使用 MySQL 的 PHP 程序对此忽略,导致了问题的出现和复杂化,而由于大部分用户使用的是英文,使这种问题不被重视。这里提到的 PHP 程序,主要就 WordPress 而言。
订阅了 MSDN 的用户已经可以下载 IE 7 的 Beta 1。同样一个 IE7,有人关心的是 CSS 的支持,有人关心的是对 Firefox 的影响,还有人关心的是 Google 和 Yahoo 的 Toolbar…
Dave Shea 的报告:IE7 CSS Update; Inside IE7 Beta 1, From Flexbeta; shakalaca 的 IE7 試用心得; SharkUI 的测试:IE7对CSS的支持 Molly: That’s Why it’s called Beta, From WaSP MS IE Team 的 Standards and CSS in IE
中文版 Windows XP 的用户需要修改注册表才能运行安装程序,详情请看这里。
Planet 是一个比较常用的 feed 聚合器,GNOME、Debian、Perl 等社群都使用这个收集他们相关的新闻,采用的是 Mark Pilgrim 的 Universal Feed Parser (现在这个 feed parser 已经不由 mark 维护,而是放在 sourceforge.net 由几个人共同维护),原来的设置里没法正常处理中文,前几天试用这个东西的时候,顺手做了点修改。这里是 diff 文件,应用在 planetlib.py 上 (我的修改根据的是前几天的一个 nightly 版本)。
但请注意,这仅仅是一个面向简体中文用户的修改,如果你希望支持其他的编码 (比如 ISO-8859-1、Big-5 等),可以参考我的改动变化一下,并不复杂。
因为面对的仅仅是简体中文用户,所以只需要保证不同的来源编码 (gb2312、gbk、gb18030 和 utf-8) 都能够正确转换成目标编码 utf-8 即可。现在使用的策略是这样的,不根据 xml encoding= 中的内容来判断编码,首先尝试以 gbk (即 cp936) 解码,不行则用 gb18030 解码,再不行则直接返回 (认为此时是 utf-8)。
这种策略是考虑到简体中文的 blog 一般只有可能使用上述三种编码。(本来没用 gb18030,但在测试的时候遇到一个 blog 的 RSS 有个地方 gb2312 无法解析,换用 [...]
Apache 的模块是很有意思的东西,原来 O’Reilly 有本 Writing Apache Modules in Perl and C,算是这方面的终极宝典,可惜此书名不副实,Perl 的内容占了绝大部分,C 的内容几乎是一笔带过 (也难怪,作者就是 mod_perl 的作者嘛),而且这本书是 1999 年写的,也是按照 Apache 1.3 的内容来写的,和现在 Apache2 的情况已经有了不少差别。
而且网上有的教程都是讲 Linux 下的配置过程,问题在于我自己在测试开发的时候是要用 Win32 下的 Apache 的,所以只好自己搞定。
我在网上 google 了一下,没找到什么详细的资料,考虑可能有朋友需要这种上手的教程,把今天的步骤写下来。
安装 Apache 2.
到 这里 找到一份最简单的 Apache2 module 源代码,这里有这份代码的详细说明,不过讨论是 Unix/Linux 下的情况。
如果你没有安装 Visual C++ 6.0 或者 Visual Studio .Net 的话,可以安装 Visual C++ 2003 Toolkit,这是免费的 M$ 的 C++ [...]
毫无疑问,O’Reilly 是我最喜欢的出版商,现在连我父母都知道我喜欢挑“封面有小动物”的书买,说来看了这几年 O’Reilly 出的书,架上堆了十来本,硬盘上更是塞了近百本电子版的,对这些书,还是有点感想的,这里便挑基本说说。
Programming Internet Email (Internet Email 编程)
这书算是最早看的一本了,绝对是关于 Email 编程的集大成者,特点是并不多花时间讲繁复的协议,而是侧重于代码,从 SMTP、POP 到加密、邮箱的编写等等都有详细的讲解,大部分的代码实用 Perl 写的,不过都很直接,可以轻松转换为其他的语言,只有涉及本地邮件存储的一些代码采用 Java 实现,不大容易移植到其他语言中。另外美中不足的是,没有涉及邮件服务器的编写,大概如果谈到这个,短短 400 余页的篇幅根本不够吧。
C Pocket Reference
我是个懒人,连天天要用的 C 库函数也往往记不好,每到这时,往往临时抱佛脚,赶紧点开电子版的 C Pocket Reference。C 语言的参考手册当然不少,K&R 后边附的一般够用,GNU LibC 的手册也不错,但这本书好就好在简明,找起来特别快。不过现在用 vim 写程序,装了个叫 cref 的插件,找起来更方便了,这本书也就渐渐不怎么打开了。
lex & yacc
有个朋友曾给我描述这么个场景:到麦当劳要杯可乐,然后翻开一本 lex & yacc,坐在里面看到午夜,算是程序员很惬意的生活了。我看书一向缺乏耐性,这本书也就刚刚把 lex 的部分看完,估计也看不到午夜,不过印象最深还是它的侧重实用,程序员们看大部头的编译原理,被种种概念闹得一肚子火的时候,这书就实在太及时了,精当而不多余的例子,每个都值得细细咀嚼。唯一的遗憾是中文版翻译得太差。
Learning XML
我学 XML 算是半路出家,打开一个 XML 文件觉得好玩,就自己瞎编开了,也不知道什么 DTD,就写了数千行的 XML 和 XSL,也仅仅是觉得好玩而已。后来看到这本书,不禁可惜自己开头没看到它,不然系统的学一学,也不至于像现在脑袋装的那么不牢靠,可现在手头有了这本书,却又没有心境从头看起了。和 Learning 系列的其它书一样,这本书也挺薄,大概也就 300 页上下,唯一可惜的是贵了点,中文版要卖 30 [...]
© jjgod / blog. Powered by WordPress using the DePo Skinny Theme.