Hangi veritabanı ve dil Unicode işleme daha iyidir?

4 Cevap php

Benim uygulama (vb Çince, Japonca dahil olmak üzere) birden çok dilde olacak varsa hangi veritabanı ben kullanmalıyım? Diğer bir deyişle, MySQL iyi ya da kötü bir Postregs vb Unicode işlemek için daha? (Bu benim hosting şirketi olan sadece iki veritabanları)

Ayrıca, hangi dili unicode kullanımı için daha iyi? PHP ya da Ruby / Rails?

4 Cevap

Mysql (örn: BMP dışında Çince karakterler) Unicode için tam desteği yok (see). Bu sakat 'utf8' kodlama (gerçekten UTF-8) kullanır.

Postgresql için tam destek var gibi görünüyor UTF-8 encoding (dolayısıyla, tüm Unicode karakterler için).

Databases:

Benim durumumda, MySQL ve Postgres hem de oldukça iyi Unicode ele.

Languages:

  • Yaklaşan PHP 6 vaat düzeltmek için ise PHP <= 5.3 biraz, unicode açısından sınırlıdır.
  • Ruby 1.8 kötü unicode desteği vardı, ama 1.9 (ben hiçbir kendi deneyimim var) güzel unicode işlemek için söylenir.

Restrictions of PHP 5.3:

It is possible to use PHP 5 together with unicode, but then one has to be careful with strings. Many string functions, for instance the one which counts the length of characters, returns the number of bytes, not the number of characters. There are are additional functions available though, which return the number of characters.

Bu yeni bir proje ise, baştan doğru fonksiyonları kullanmak gerekir.

Bizim mevcut PHP proje için, ben (Windows 1252) nerede nedeniyle unicode için bir iç proje ve sınırlı değer (ne yazık ki, ben gerçekten unicode seviyorum) olmanın, onu terk etmeye karar verdi.

Benim durumlarda Postgresql MySQL daha iyiydi, MySQL tamamen Unicode desteği yok

Postgresql + PHP6 iyi bir seçimdir