Re: вопрос по функциям CGPL

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Tue 22 May 2007 - 17:02:40 MSD

Здравствуйте,

Samarit wrote:

> Dmitry Akindinov wrote:

>> Здравствуйте,
>>
>>> Поясню, что хотелось сделать: нужно во внешнее приложение передать
>>> параметр аккаунта, но приложение понимает по-русски только в
>>> кодировке cp1251. Первая мысль была ввести свой собственный системный
>>> параметр для аккаунтов, приписать ему значение через CLI командой
>>> UPDATEACCOUNTSETTINGS в cp1251. Все хорошо, но через административный
>>> веб-интерфейс параметр виден как "???" (логично так как CGP ожидает
>>> там utf-8) и при любом изменении установок аккаунта через веб эти
>>> "???" так и записываются обратно в файл account.settings (так наверно
>>> и должно быть). Вторая мысль была хранить параметр в account.info,
>>> т.е. так же приписать ему значение через CLI командой
>>> UPDATEACCOUNTINFO в cp1251. Так как этот параметр недоступен напрямую
>>> через веб, то он и не портится. Вот только непонятно теперь как его
>>> можно вытянуть в скрипте CGPL: GetAccountPreferences его не берет,
>>> так как имеет доступ "только к той части, которая предусмотрена для
>>> хранения настроек интерфейса", a GetAccountInfo похоже действует
>>> только для текущего аккаунта (Impersonate не подойдет).
>>> Видимо моя идея изначально было неудачная :).
>>
>> Да уж.
>>
>> Правильный подход - хранить в utf-8, а непосредственно перед
>> скармливанием внешнему приложению - переводить в нужную кодировку.
>>
> А можно перевести прямо внутри скрипта или вызвать внешнюю системную > команду из скрипта для этого?

Зависит от того, как вы передаете все это во внешнее приложение. В CGPL возможностей для конвертации строк нет, но во внешнюю программу вы данные отдаете через HTTPCall(), наверное? На другом конце которого - CGI скрипт. Если скрипт на Perl, то для Perl точно есть модули для конвертации utf в другие кодировки.

-- 
Best regards,
Dmitry Akindinov
Получено Tue May 22 13:02:42 2007

Этот архив был сгенерирован hypermail 2.1.8 : Tue 22 May 2007 - 17:14:51 MSD