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

时间:2010-04-22 20:40:00

标签: php mysql ruby-on-rails postgresql unicode

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

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

4 个答案:

答案 0 :(得分:7)

Mysql 不完全支持Unicode(例如:BMP之外的中文字符)(see)。它使用了残缺的“utf8”编码(不是真正的UTF-8)。

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

答案 1 :(得分:1)

<强>数据库:

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

语言

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

PHP 5.3的限制:

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

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

Postgresql + PHP6是不错的选择