какую базу данных я должен использовать, если мое приложение будет на нескольких языках (включая китайский язык, японский язык и т.д.)? Другими словами, MySQL лучше или хуже, чем Пост-ГРЭС для обработки unicode и т.д.? (это эти только две базы данных, которые моя хостинговая компания имеет),
Кроме того, какой язык лучше для обработки unicode? PHP или Ruby/направляющие?
Mysql не имеет полной поддержки Unicode (например, китайские символы вне BMP) ( см. ). Он использует урезанную кодировку « utf8 » (на самом деле не UTF-8).
Postgresql , похоже, полностью поддерживает кодировку UTF-8 (следовательно, для всех символов Unicode).
Базы данных:
По моему опыту, и MySQL, и Postgres вполне нормально обрабатывают Unicode.
Языки:
Ограничения PHP 5.3:
PHP 5 можно использовать вместе с юникодом, но тогда нужно быть осторожным со строками. Многие строковые функции, например та, которая подсчитывает длину символов, возвращает количество байтов, а не количество символов. Однако существуют дополнительные функции, которые возвращают количество символов.
Если это новый проект, вы должны уметь использовать нужные функции с самого начала.
Что касается нашего существующего проекта PHP, я решил оставить его там, где он был (Windows 1252), поскольку он является внутренним проектом и имеет ограниченную ценность для юникода (к сожалению, я действительно люблю юникод).
В моих случаях Postgresql был лучше, чем MySQL, MySQL не полностью поддерживает Unicode