Переход на Unicode – путь к надежной и полной поддержке языков в глобальных MDMP-системах

Александр Давиденкофф
2140
2

Представьте себе, что имеется таблица SAP, содержащая текстовое поле длиной в один байт с шестнадцатеричным значением E6. Какой символ представляет данный код? Ответ зависит от языкового контекста, в котором будет использоваться определенный символ. Поддержка языков с различными наборами символов в одной системе часто является непростой задачей с точки зрения настройки и программирования и в некоторых случаях оказывается вообще невозможной. Еще в начале коммерческого использования компьютеров пользователям требовался стандартный, распространяемый на любые платформы подход к представлению символов независимо от языкового контекста, в котором этот символ используется. В 1990-х годах международным компаниям приходилось вести дела на разных языках при помощи все той же системы R/3. Эта необходимость стала еще более актуальной в XXI веке с его тенденциями к глобализации и все большим распространением систем управления бизнесом (большинство клиентов SAP в 2000 г. имело несколько систем в составе SAP Business Suite, не говоря уже о средах SAP NetWeaver).

Стандарт кодировки Unicode1, появившийся в начале 1990-х, де факто оказался экономически оправданным и эффективным решением для обеспечения поддержки различных языков в глобальных системах. Каждому символу в Unicode присваивается уникальный номер, который не зависит ни от платформы, ни от программы, ни от языка. Это позволило упорядочить представление многоязычных данных в системе, чего было невозможно добиться средствами прежних, достаточно ограниченных промежуточных решений. Основная причина этой проблемы заключалась в том, что в разных наборах символов языков (кодовых страниц) использовались одни и те же двоичные коды. Кодовая страница определяет набор двоичных или шестнадцатеричных значений, используемых для представления некоторого набора символов. В системах, в которых на один символ отводится один байт, можно определить не более 256 различных символов. Этого количества кодов достаточно для представления наборов символов всех западноевропейских языков. Однако также может потребоваться представить в системе дополнительные наборы символов, например, славянские языки, в которых используется кириллица (тот же русский, украинский или болгарский, например). Если следовать концепции выделения одного байта как для кириллицы, так и для символов западноевропейских языков, возникает дилемма: для специальных символов западных языков придется использовать те же двоичные коды, что и для славянских (MS) Windows 1252 для западноевропейских языков представлен шестнадцатеричным кодом E6, однако в кодовой странице MS Windows 1251 для кириллицы этот же код соответствует букве “ц”. Как различить эти символы в глобальной системе, поддерживающей и немецкий, и русский язык? Проблема осложняется еще и тем, что для одного набора символов может существовать несколько кодовых страниц. Это означает, что в разных системах могут присутствовать разные кодовые страницы, в которых для одного и того же набора символов будут заданы разные двоичные коды. Например, для славянских языков имеются кодовые страницы MS Windows 1251 Cyrillic, IBM PC 866 Cyrillic, ISO8859-5 Cyrillic и проч., в которых одним и тем же символам кириллицы присвоены разные двоичные коды. Таким образом, обмен данными на одном языке между различными системами с разными кодовыми страницами для этого языка еще в большей степени усложняет преобразование символов нескольких языков в Unicode. Поскольку в Unicode каждому символу, независимо от код U+00F62, а русский символ “ц” – U+0446), кодовая страница Unicode позволяет одновременно использовать эти символы в ИТ-системах.

Вы хотели бы увидеть полную версию статьи?

Если вы являетесь подписчиком журнала SAP Professional Journal, пожалуйста, введите в правом верхнем углу логин и пароль.

Если вы хотите подписаться на журнала SAP Professional Journal, пожалуйста, обратитесь в редакцию или сделайте заказ на сайте.

Правила получения тестового доступа к статьям SAP Professional Journal

Комментарии:

Денис Ос (Рейтинг: 30) 17:15, 22 июля 2010

Дает общее представление о переходе на Unicode, но для более полного понимания последовательности шагов, нужно обращаться к CU&UC_Guide

Д Д (Рейтинг: 60) 19:14, 25 июля 2010

Возможность перехода на Unicode,требует много других возможностей для воплощения в жизнь.

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП» Copyright © 2010 Wellesley Information Services. All rights reserved.