为了账号安全,请及时绑定邮箱和手机立即绑定

为什么现代Perl默认避免UTF-8?

为什么现代Perl默认避免UTF-8?

紫衣仙女 2019-06-13 19:08:29
为什么现代Perl默认避免UTF-8?我想知道为什么大多数使用Perl构建的现代解决方案没有启用乌特夫-8默认情况下。我知道核心Perl脚本存在许多遗留问题,在那里它可能会破坏一些东西。但是,在我看来,在21世纪圣世纪,大的新项目(或大视角的项目)应该从零开始证明他们的软件UTF-8。不过,我不认为会发生这种事。例如,驼鹿启用严格和警告,但不启用Unicode. 现代:Perl减少样板也,但没有UTF-8处理。为什么?在2011年的现代Perl项目中,有什么理由避免使用UTF-8吗?注释@tchrister太长了,所以我在这里添加它。我好像没说清楚。让我试着补充一些东西。克里斯特我也看到了类似的情况,但我们的结论完全相反。我同意,Unicode的情况很复杂,但这就是为什么我们(Perl用户和编码器)需要一些层(或语用),这使得UTF-8的处理像现在一样简单。克里斯特指出要涵盖的许多方面,我将阅读和思考它们几天甚至几周。不过,这不是我的意思。克里斯特试图证明没有单一的方式“使UTF-8”。我没有那么多的知识来反驳这一点。所以,我坚持活生生的例子。我到处玩拉库多而UTF-8就在那里如我所需..我没有任何问题,只是起作用了。也许在更深的地方有一些限制,但在开始的时候,我测试的一切都如我所期望的那样工作。难道这不是现代Perl 5的一个目标吗?我强调这一点:我不是建议将utf-8作为核心perl的默认字符集,而是建议触发它的可能性。一声不响对于那些发展起来的人新的项目。另一个例子,但带有更消极的语气。框架应该使开发更加容易。几年前,我尝试过Web框架,但因为“启用UTF-8”太晦涩,我就放弃了它们。我没有找到如何和在哪里挂钩Unicode支持。太费时了,我觉得走老路更容易。现在我看到这里有一个赏金来处理同样的问题梅森 2: 如何使Mason 2 UTF-8清洁?..因此,它是一个非常新的框架,但是将它与UTF-8一起使用需要深入了解它的内部结构。就像一个巨大的红牌:站住,不要利用我!我真的很喜欢Perl。但是处理Unicode是痛苦的。我仍然发现自己是靠墙跑的。某种方式克里斯特是正确的,并回答了我的问题:新项目不吸引UTF-8,因为它在Perl 5中太复杂了。
查看完整描述

3 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

我们都同意,这是一个困难的问题,因为许多原因,但这正是原因,试图使它更容易对每个人。

最近有一个关于CPAN的模块,UTF8:全部,试图“打开Unicode,全部打开”。

如前所述,您无法神奇地创建整个系统(外部程序、外部Web请求等)。也可以使用Unicode,但我们可以一起工作,以使简化常见问题的合理工具。这就是我们成为程序员的原因。

如果UTF 8:没有做你认为应该做的事情,让我们改进它,使它更好。或者,让我们一起制作更多的工具,以尽可能地满足人们不同的需求。


查看完整回答
反对 回复 2019-06-13
  • 3 回答
  • 0 关注
  • 672 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信