繁体   English   中英

哪种数据库和语言更适合处理Unicode?

[英]Which database and language is better at handling Unicode?

如果我的应用程序将使用多种语言(包括中文,日文等),我应该使用哪个数据库? 换句话说,MySQL是否比Postgres更好或更差来处理unicode等? (这是我托管公司唯一的两个数据库)

另外,哪种语言更适合处理unicode? PHP或Ruby / Rails?

Mysql没有完全支持Unicode(例如:BMP之外的中文字符)( 参见参考资料)。 它使用了残缺的' utf8 '编码(不是真正的UTF-8)。

Postgresql似乎完全支持UTF-8编码 (因此,对于所有Unicode字符)。

数据库:

根据我的经验,MySQL和Postgres都处理Unicode非常好。

语言:

  • PHP <= 5.3在unicode方面受到一定限制,而即将推出的PHP 6有望解决这个问题。
  • Ruby 1.8的unicode支持很差,但据说1.9可以很好地处理unicode(我没有自己的经验)。

PHP 5.3的限制:

可以将PHP 5与unicode一起使用,但是必须小心使用字符串。 许多字符串函数(例如计算字符长度的函数)返回字节数,而不是字符数。 但是还有其他功能可用,它们返回字符数。

如果这是一个新项目,您应该能够从一开始就使用正确的功能。

对于我们现有的PHP项目,我决定将它保留在原来的位置(Windows 1252),因为它是一个内部项目,并且unicode的价值有限(遗憾的是,我真的很喜欢unicode)。

在我的情况下, Postgresql比MySQL好,MySQL不完全支持Unicode

Postgresql + PHP6是不错的选择

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM