о WebMoney
Информационный портал о WebMoney
  
  
подписка  
реклама здесь 
обратная связь 
  Материалы      Вопросы и ответы     Курс обучения      Файлы
 Кофейня      WebMoney TOP      p2p      WM-Клуб      Гид   
о WebMoney / Вопросы и ответы / Как заставить WM Merchant понимать русский текст в UTF8?

Как заставить WM Merchant понимать русский текст в UTF8?

© Потап Вертолётов, 18.09.2009

моя оценка:
[средняя: 3.5]

У многих разработчиков, которые подключали WM Merchant к своим сайтам, возникало затруднение: WM Merchant никак не хотел воспринимать Примечание платежа в кодировке UTF8.


У многих разработчиков, которые подключали WM Merchant к своим сайтам, возникало затруднение: параметр LMI_PAYMENT_DESC (в нём передаётся Примечание платежа) можно было передать только в кодировке Win1251 или только английскими буквами. UTF8 WM Merchant воспринимать не хотел ни в какую.

Проблема эта усугублялась еще и тем, что перекодирование LMI_PAYMENT_DESC на стороне продавца из UTF8 в Win1251 ни к какому результату не приводила. Иными словами, когда страница продавца представлена в Юникоде, и в ней выполняется преобразование значения LMI_PAYMENT_DESC в Win1251 с помощью стандартных средств PHP, ASP и т.д., после чего LMI_PAYMENT_DESC в таком виде передаётся на WM Merchant - то WM Merchant всё равно отображает кракозябры. Ну и, естественно, эти же кракозябры попадают потом в Примечание WM-перевода.

Но кто прошлое помянет - тому глаз вон. Теперь проблема решена. Один из представителей WebMoney отписался на форуме Кофейня о том, что в протокол WM Merchant'а введен необязательный (и, судя по всему, пока недокументированный) параметр LMI_PAYMENT_DESC_BASE64. Суть его такова. Если то, что вы хотите передать внутри LMI_PAYMENT_DESC, содержит русские буквы и представлено в кодировке UTF8, то вы можете применить к этой строке base64-кодирование, после чего то, что получилось, передать в параметре LMI_PAYMENT_DESC_BASE64.

Получив такой параметр, WM Merchant декодирует его в родную для себя Win1251, а строка, которая получилась в результате декодирования, подставляется в Примечание. Русский текст при этом отображается нормально. Если при этом LMI_PAYMENT_DESC также передан, то он ВМ Мерчантом игнорируется.

Проверено - работает! Слава Аллаху и гениальному base64! Для примера, в PHP применить base64-кодирование очень просто:

base64_encode("здесь примечание к платежу")
прочтений: 8172 / уникальных: 3624
Если Вам понравилась статья, подпишитесь на оповещения:

Комментарии (1)
Oneratnov 17.08.12 22:39 #
спасибо

введите этот код
Мое имя:
я не зарегистрирован и не хочу
это моё зарегистрированное имя
хочу зарегистрировать это имя
Email:      
 оповещать об ответах
   Что нового почитать?
Мой номер телефона утерян и не подлежит восстановлению. Как быть? 06.10.16 [4]
ВОПРОС: Долго не пользовался своей симкой. Номер заблокирован, восстановлению не подлежит. Как востановить доступ к кошельку?
Автомобилистам на заметку: как оплатить штраф по WM 04.10.16
Сегодня мы хотим напомнить о возможностях, которые существуют в WebMoney для оплаты штрафов ГАИ и дорожных сборов. Если неприятность всё же произошла ...
На WebMoney Merchant можно принимать Биткоины 30.09.16 [5]
Если вы на вашем сайте принимаете WebMoney и делаете это через WebMoney Merchant, то для вас есть хорошая новость. Теперь с вами смогут рассчитаться т...
Муравей-бот отвечает на вопросы о WebMoney в Telegram 27.09.16
WebMoney запустил интеллектуального бота-помощника для мессенджера Telegram. Он постарается понять ваш вопрос и дать на него ответ.Для начала, разбере...
Автоплатежи помогут не забыть об оплате 27.09.16
В WebMoney Keeper, а также в личный кабинет Telepay добавлена опция автоплатежа для 3х крупнейших мобильных операторов России: Билайна, МТС и Мегафона...
Новая библиотека для платформы .Net 14.09.16
Разработчикам будет полезно узнать, что выпущена новая версия библиотеки для работы с XML-интерфейсами WebMoney для платформы Microsoft .Net.В ней реа...
WebMoney пришла в Молдову 14.09.16 [4]
WebMoney предоставила возможность работы с кошельком, номинированным в молдавских леях. Однако, кошелек этот не совсем обычный.Во-первых, кошелек созд...
В обновленных Киперах появились регулярные платежи 04.08.16
Обновилась вся линейка мобильных Киперов (iOS, Android, Windows Phone, MacOs X и BlackBerry OS 10), а также браузерный Keeper Standard.Главное новшест...

   Кофейня (форум)
Продам Магазин цифровых товаров RUSSIANWMSHOP v3.0 10.05.17
Где купить Paymer чеки за КИВИ? 16.04.17
Автоматизация masspayment 22.03.17

   p2p
Меняют 70000 WMR на 70000 Яндекс.Д (курс:1:1) 23.05.17
Меняют 400 WMZ на 10340 UAH (курс:25.85) 23.05.17
Меняют 10000 UAH на 22700 Qiwi (курс:2.27) 23.05.17

   WebMoney TOP
Зарегистрирован Wm-Change.Com Обменный пункт Wm-Change.Com предоставляет услуги по выдаче наличных в г.Харьков,моментального обмен...
Зарегистрирован PVcash Наш On-line сервис предназначен для тех, кто хочет быстро, безопасно и по выгодному курсу обменять т...
Зарегистрирован ЧANGE.ME Выгодный обмен PayPal, WebMoney, Яндекс.Денег, QIWI и других валют....

   WM-Клуб
Присоединился Василий Галанов
Присоединился Николай Метлюк
Присоединился Евгений Кудрявцев


 
Все права на материалы, опубликованные на owebmoney.ru, охраняются в соответствии с законом об авторском праве. Разрешено копирование без согласования при условии указания гиперссылки на сайт (без атрибута nofollow и сокрытий) непосредственно до\после материала.