如果我的应用程序将使用多种语言(包括中文,日文等),我应该使用哪个数据库?换句话说,MySQL是否比Postgres更好或更差来处理unicode等? (这是我托管公司唯一的两个数据库)
另外,哪种语言更适合处理unicode? PHP或Ruby / Rails?
答案 0 :(得分:7)
Mysql 不完全支持Unicode(例如:BMP之外的中文字符)(see)。它使用了残缺的“utf8”编码(不是真正的UTF-8)。
Postgresql 似乎完全支持UTF-8 encoding(因此,对于所有Unicode字符)。
答案 1 :(得分:1)
<强>数据库:强>
根据我的经验,MySQL和Postgres都处理Unicode非常好。
语言强>
PHP 5.3的限制:
可以将PHP 5与unicode一起使用,但是必须小心使用字符串。许多字符串函数(例如计算字符长度的函数)返回字节数,而不是字符数。 但是还有其他功能可用,它们返回字符数。
如果这是一个新项目,您应该能够从一开始就使用正确的功能。
对于我们现有的PHP项目,我决定将它留在原处(Windows 1252),因为它是一个内部项目,并且unicode的价值有限(遗憾的是,我真的很喜欢unicode)。
答案 2 :(得分:0)
在我的情况下 Postgresql 比MySQL好,MySQL不完全支持Unicode
答案 3 :(得分:-1)
Postgresql + PHP6是不错的选择