Как получить правильную информацию об имени UTF-8 от PDT PayPal? - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь исправить свою страницу автоматического возврата, чтобы сгенерировать лицензию на основе имени для некоторого программного обеспечения.У меня работает PDT, и он возвращает мне данные.Однако информация об имени была преобразована в нечто иное, чем Unicode, и уничтожена.

Мои тестовые данные - это пользователь в песочнице с японским именем.Я пытаюсь запустить транзакцию от имени этого пользователя и получить обратно:

last_name=%1A%1A
first_name=%1A%1A

В ответе PDT.Некоторые, что по иронии судьбы PayPal сообщает о типе контента как utf-8:

Content-Type: text/html; charset=UTF-8

Да, нет.Имя тестового пользователя на самом деле: 木 家 寿司.Просто несколько случайных японских символов.

Мой HTTP-запрос в основном:

    if ($method == "POST")
        $r = "POST $usepath HTTP/1.1\r\n";
    else
        $r = "GET $usepath HTTP/1.1\r\n";

    $r .=   "Host: $host\r\n" .
            "User-Agent: $ua\r\n" .
            "Connection: close\r\n" .
            "Accept-Charset: utf-8\r\n" .
            "Accept: */*\r\n" .
            "Accept: image/gif\r\n" .
            "Accept: image/x-xbitmap\r\n" .
            "Accept: image/jpeg\r\n";

    if ($method == "POST")
    {
        $strlength = strlen($postdata);

        $r .=   "Content-type: application/x-www-form-urlencoded\r\n" .
                "Content-length: $strlength\r\n".
                "\r\n" .
                $postdata;
    }

Обратите внимание, я установил Accept-Charset в utf-8.Я также попытался установить тип содержимого для включения utf-8 в качестве кодировки.А также помещая «charset = utf-8» в сами поля формы.

Похоже, что PDT просто сломан, когда дело доходит до юникода.Или я здесь что-то не так делаю?

Редактировать: Бах, это решено здесь .

1 Ответ

0 голосов
/ 10 октября 2018

Поскольку я не могу закрыть это как дубликат, я опубликую фактический ответ для потомков.

В вашем профиле PayPal в разделе "Мои инструменты продаж" есть Язык кнопок PayPal wncoding .Что в моем случае я установил на utf-8 (действительно, что еще вы хотели бы использовать?)

Они должны по умолчанию установить его на utf-8.Они также должны соблюдать кодировку ввода.Они должны много чего делать ... но они PayPal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...