о 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("здесь примечание к платежу")
прочтений: 8511 / уникальных: 3831
Если Вам понравилась статья, подпишитесь на оповещения:

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

введите этот код
Мое имя:
я не зарегистрирован и не хочу
это моё зарегистрированное имя
хочу зарегистрировать это имя
Email:      
 оповещать об ответах
   Что нового почитать?
Мой номер телефона утерян и не подлежит восстановлению. Как быть? 06.10.16 [9]
ВОПРОС: Долго не пользовался своей симкой. Номер заблокирован, восстановлению не подлежит. Как востановить доступ к кошельку?
Автомобилистам на заметку: как оплатить штраф по WM 04.10.16
Сегодня мы хотим напомнить о возможностях, которые существуют в WebMoney для оплаты штрафов ГАИ и дорожных сборов. Если неприятность всё же произошла ...
На WebMoney Merchant можно принимать Биткоины 30.09.16 [6]
Если вы на вашем сайте принимаете 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.Главное новшест...

   Кофейня (форум)
Возьму займ WM 20.10.17
Кредитный калькулятор онлайн 15.09.17
Меняюсь. Нужны ePayments USD и Capitalist RUB 12.07.17

   p2p
Меняют 26800 UAH на 1000 WMZ (курс:26.8) 14.12.17
Меняют 100000 UAH на 230000 Яндекс.Д (курс:2.3) 13.12.17
Меняют 60000 WMR на 60000 Qiwi (курс:1:1) 13.12.17

   WebMoney TOP
Зарегистрирован Лосиный Лес Блог о рекламе и деньгах....
Зарегистрирован Маркетдома Маркетдома - Всё для дома!...
Зарегистрирован WebMoney в Крыму Ввод и вывод Webmoney, Яндекс в Крыму....

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


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