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

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

введите этот код
Мое имя:
я не зарегистрирован и не хочу
это моё зарегистрированное имя
хочу зарегистрировать это имя
Email:      
 оповещать об ответах
   Что нового почитать?
Мой номер телефона утерян и не подлежит восстановлению. Как быть? 06.10.16 [3]
ВОПРОС: Долго не пользовался своей симкой. Номер заблокирован, восстановлению не подлежит. Как востановить доступ к кошельку?
Автомобилистам на заметку: как оплатить штраф по 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 [1]
WebMoney предоставила возможность работы с кошельком, номинированным в молдавских леях. Однако, кошелек этот не совсем обычный.Во-первых, кошелек созд...
В обновленных Киперах появились регулярные платежи 04.08.16
Обновилась вся линейка мобильных Киперов (iOS, Android, Windows Phone, MacOs X и BlackBerry OS 10), а также браузерный Keeper Standard.Главное новшест...

   Кофейня (форум)
Вчера на форуме вебмани обосрал вебмани, седне лок 09.12.16
Проблема с Кипером WinPro версии 3.9.9.8 01.12.16
Работает ли корректно в данный момент Х19? 30.11.16

   p2p
Меняют 26300 UAH на 1000 WMZ (курс:26.3) 09.12.16
Меняют 200000 Qiwi на 200000 WMR (курс:1:1) 09.12.16
Меняют 10000 Яндекс.Д на 10000 Qiwi (курс:1:1) 09.12.16

   WebMoney TOP
Зарегистрирован Обмен24 Ввод/Вывод WebMoney, ЯД, QIWI на Privat24, СберБанк, АльфаБанк, ТКСБ и другие. Быстрая обработка зая...
Зарегистрирован Green Cash Обменный пункт WebMoney в Москве. Ввод/вывод WebMoney на выгодных условиях. Работаем 7 дней в неделю...
Зарегистрирован Bestchange.ee Ввод и вывод WM в Эстонии и Европе. Карты (чеки Paymer), высылаем на e-mail. Оплату принимаем на бан...

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


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