Нужен ли мне дополнительный самолет? - PullRequest
7 голосов
/ 21 июня 2009

Я думаю, что вопрос довольно прост, нужно ли мне все остальное в Unicode после базовой плоскости? Какие вещи включены и действительно ли это нужно? (и для каких целей?)

Спасибо.

Ответы [ 4 ]

10 голосов
/ 11 ноября 2009

Если вы собираетесь продавать что-либо в Китае, то стандарт GB 18030 является обязательным и требует символов, выходящих за рамки BMP (базовая многоязычная плоскость). Стандарт является обязательным, и для его продажи необходимо пройти сертификацию GB 18030.

Есть также национальные стандарты в Японии и Гонконге, которые требуют символов вне BMP. Даже если эти стандарты не соблюдаются, как в Китае, их поддержка может дать вам преимущество.

Итак, простой ответ: вам нужно кое-что из этого.

=== 2016 ===

Это было 7 лет назад. Теперь все говорят о смайликах. Ну, большинство смайликов выходят за рамки BMP: -)

7 голосов
/ 21 июня 2009

Это зависит от того, контролируете ли вы свои данные или нет. Если вы используете данные Unicode от кого-либо, кроме себя, вы, как правило, должны предполагать, что они могут содержать дополнительные символы, что, в свою очередь, означает, что вам нужно иметь дело с 4-байтовыми UTF-8, UTF-16 суррогатными символами и т. 1001 *

2 голосов
/ 01 марта 2012

Вы должны попытаться, если это вообще возможно, поддерживать все Unicode, включая дополнительные плоскости. В настоящее время на дополнительных планах сидят живые языки, такие как Мяо . Другие живые языки будут добавлены в будущем, а некоторые языки в настоящее время нуждаются в дополнительной частной зоне использования. Также есть то, что Михай Нита сказал в своем ответе .

MySQL, начиная с 5.5, также поддерживает дополнительных плоскостей.

Лучше потратить немного времени на полную поддержку Юникода, чтобы в будущем у вас не было проблем, если вам это действительно нужно. И вы не знаете, кто будет использовать ваше программное обеспечение и какие сценарии они будут использовать в будущем. Теперь большинство движков рендеринга, GUI-инструментарий, браузеры, операционные системы и т. Д. Будут поддерживать это без проблем.

Хотя этот вопрос задавался несколько лет назад, я наткнулся на это в процессе поиска, и с тех пор все изменилось. В настоящее время я имею дело с проблемами, когда программисты либо предполагали, что не будет необходимости в дополнительной поддержке плоскости, либо это осталось непроверенным.

2 голосов
/ 21 июня 2009

См. полный список таблиц символов .

Дополнительные символы в настоящее время содержат древние скрипты. Если у вас нет приложения, которое должно обрабатывать древние скрипты, такие как Kharoshthi, Old Persion и Cuneiform, то , вероятно, не .

Полагаю, вам придется решать эту проблему только в том случае, если вы столкнетесь с реализацией UTF-8 или UTF-16, которая не завершена. Некоторые реализации UTF-8 не поддерживают 4-байтовые символы, что является дополнительной плоскостью: символы выше U + 10000. MySQL приходит на ум.

...