什么时候Rails web开发人员需要开始担心字符编码?



我是一名web开发人员,主要使用Ruby(和Rails)和c#。

我目前正在阅读"Ruby编程语言",其中有Matz的输入和"_Why The lucky stiff"的绘图,以提高我对Ruby真正工作原理的了解。

关于字符串的那一章讲了很多关于编码、多字节字符等的内容,我似乎还记得Joel Spolsky写的关于每个开发人员应该如何了解编码的文章。但什么时候你才真正开始看到它的影响呢?

例如,在最初的Rails屏幕视频中没有20分钟的编码介绍,但是一些开发人员说这是至关重要的知识。

那么你需要知道多少,什么时候知道?

在我的日子里,我们从来不在乎。一切都是文本。然后微软推出了他们的ASCII扩展,接下来我们知道一切都变得一团糟。嘿,微软,滚出我的草坪!

不幸的是,在今天的互联网和网络世界中,从创建的第一行代码或文本内容开始考虑它是很重要的。

当你的站点生成输出时,你有一个优势,可以确保你所有的源、文本和模板都使用UTF-8编码。

如果您通过解析或抓取来获取其他人的内容,那么您的任务就会变得更加困难,因为web服务器喜欢对它们发送给您的内容撒谎,HTML页面喜欢撒谎,甚至,很难相信,XML页面会撒谎,尽管它们不应该撒谎。因此,当您在"外来"代码集中感知字符时,您的代码必须非常具有防御性,并准备好进行多字节编码。您可能需要经过一些步骤才能转换回您所选择的编码:UTF-8(这是我的建议)、ISO1859-1、CP1252或其他任何编码。如果你想让你的系统变得坚固和防弹,请确保你使用的是rescue模块,并且测试,测试,测试。

这是我的建议,基于我用Perl和Ruby编写许多scraper的一些来之不易的知识。

最新更新