Какая база данных и язык лучше в обработке Unicode?

какую базу данных я должен использовать, если мое приложение будет на нескольких языках (включая китайский язык, японский язык и т.д.)? Другими словами, MySQL лучше или хуже, чем Пост-ГРЭС для обработки unicode и т.д.? (это эти только две базы данных, которые моя хостинговая компания имеет),

Кроме того, какой язык лучше для обработки unicode? PHP или Ruby/направляющие?

7
задан Earlz 22 April 2010 в 22:07
поделиться

3 ответа

Mysql не имеет полной поддержки Unicode (например, китайские символы вне BMP) ( см. ). Он использует урезанную кодировку « utf8 » (на самом деле не UTF-8).

Postgresql , похоже, полностью поддерживает кодировку UTF-8 (следовательно, для всех символов Unicode).

7
ответ дан 7 December 2019 в 07:42
поделиться

Базы данных:

По моему опыту, и MySQL, и Postgres вполне нормально обрабатывают Unicode.

Языки:

  • PHP <= 5.3 несколько ограничен в отношении юникода, в то время как грядущий PHP 6 обещает исправить это.
  • Ruby 1.8 имел слабую поддержку юникода, но говорят, что 1.9 хорошо обрабатывает юникод (у меня нет собственного опыта в этом отношении).

Ограничения PHP 5.3:

PHP 5 можно использовать вместе с юникодом, но тогда нужно быть осторожным со строками. Многие строковые функции, например та, которая подсчитывает длину символов, возвращает количество байтов, а не количество символов. Однако существуют дополнительные функции, которые возвращают количество символов.

Если это новый проект, вы должны уметь использовать нужные функции с самого начала.

Что касается нашего существующего проекта PHP, я решил оставить его там, где он был (Windows 1252), поскольку он является внутренним проектом и имеет ограниченную ценность для юникода (к сожалению, я действительно люблю юникод).

1
ответ дан 7 December 2019 в 07:42
поделиться

В моих случаях Postgresql был лучше, чем MySQL, MySQL не полностью поддерживает Unicode

0
ответ дан 7 December 2019 в 07:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: