2009-06-21 4 views

ответ

10

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

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

Таким образом, простой ответ будет следующим: вам нужны некоторые вещи.

=== 2016 ===

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

+0

Помимо проблемы сертификации, набор символов Unihan IICore, который содержит все символы Хан (китайский, японский, корейский) текущего современного использования, содержит 62 символа в дополнительной идеографической плоскости (SIP) –

2

См. complete list of character charts.

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

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

+0

На самом деле я использую MySQL, и именно по этой причине я прошу. Мне было интересно, следует ли использовать таблицы Binary или UTF-8. Благодарю. – Tower

7

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

+1

Отличный ответ!Поэтому мало кто просто не понимает этот основополагающий принцип происхождения данных. – hippietrail

2

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

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

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

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

Смежные вопросы