Клиент гнезда кодирует данные, отправляемые агенту.
Важно понимать, как клиент гнезда кодирует данные, отправляемые агенту.
Специальные символы
Данные, отправляемые агенту, не должны содержать символы новой строки, за исключением конца каждой записи события или выборки данных. Символы новой строки внутри значений атрибутов нужно заменить или закодировать, используя приведенную ниже таблицу
Табл. 1.
Кроме того, не нарушайте синтаксис XML значениями атрибутов. В следующей таблице перечислены символы в значениях атрибутов, которые должны быть закодированы.
Табл. 1. Символы, кодируемые в значениях атрибутов
| Символ |
Заголовок |
& |
& |
< |
< |
> |
> |
“ |
" |
' |
' |
\n |
|
Прим.: Агент использует символ новой строки для разделения ответов, полученных от клиента. Неожиданные символы новой строки не позволят правильно проанализировать данные.
У агента нет полнофункционального анализатора XML, поэтому не используйте специальное кодирование символов, которых нет в
Табл. 1. Например, не используйте
¢ или
¢ для замены символа
¢.
Кодировки
Помимо
кодирования специальных символов, агент должен знать, какая кодовая страница используется для кодировки данных. В каждой группе атрибутов гнезда можно указать, хотите ли вы отправлять данные агенту в
UTF-8 или с использованием локальной кодовой страницы. Вы должны знать, как клиент отправляет данные. Если клиент написан на Java™, то задайте UTF-8 как кодировку для программы,
которая используется для отправки данных агенту. Задайте
UTF-8 как кодовую страницу для группы атрибутов. Локальная кодовая
страница - это локальная кодовая страница агента. Если данные отправляются через удаленное гнездо, то они должны соответствовать локальной кодовой странице агента; в ином случае используйте
UTF-8.
Числовые данные
Следите за форматом числовых значений атрибутов. Числовые данные, отправляемые агенту, не должны содержать специальные символы. Один из примеров - разделитель тысяч. Другие примеры - значения валюты или обозначения, описывающие единицы измерения. Если агент не может проанализировать числовые данные, то агент записывает в журнал ошибку со сведениями о проблеме. Код ошибки состояния объекта производительности не задается при ошибке анализа
атрибута.
Ниже приведен пример сообщения об ошибке в журнале агента:
(4D3F1FD6.0021-9:utilities.cpp,205,"parseNumericString") Invalid characters :00:04
\ found getting numeric value from 00:00:04, returning 0.000000
Прим.: Информацию о формате атрибута Отметка времени смотрите в разделе
Отметка времени.