json — несовместимые результаты с переполнением стека декодирования Base64

Во второй жизни у меня есть скрипт, строящий строку json, которая закодирована в base64 и отправлена ​​в скрипт PHP.

Login(string action)
{
string json_string = "{\"Action\": \""+action+"\", \"Name\": \""+simName+"\", \"OwnersKey\": \""+ (string)llGetOwner() +"\", \"ObjectID\": \""+ (string)objectID +"\", \"ParcelName\": \""+ parcelName +"\"}";
string data = "Data=" + llStringToBase64(json_string);
toWebPage(data);
}

toWebPage(string params)
{
params += "&FromSL=true";
string tst = "";
if(DEBUG)
{
tst = "/tst";
}
myRequest = llHTTPRequest(URL + PRODUCTNAME + tst + "/"+controller+".php",
[HTTP_METHOD, "POST",
HTTP_MIMETYPE, "application/x-www-form-urlencoded"],
params);
}

Два раза я вызываю скрипт входа в систему.

Login("RegisterTower");

создание строки JSON

{"Action": "RegisterTower", "Name": "Korzun", "OwnersKey": "8d13fa0f-b54d-43c9-8426-f7cb28f93cfd", "ObjectID": "be4885a4-a596-6a65-925e-470f149e9b63", "ParcelName": "~Lost Lands~"}

а также

Login("CheckInTower");

создание строки JSON

{"Action": "CheckInTower", "Name": "Korzun", "OwnersKey": "8d13fa0f-b54d-43c9-8426-f7cb28f93cfd", "ObjectID": "be4885a4-a596-6a65-925e-470f149e9b63", "ParcelName": "~Lost Lands~"}

Эти строки json кодируются в base64 и отправляются в скрипт php. Первый скрипт, который они запускают, это Main.php

<?php
include_once "Controller.php";
$params = $_GET;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$params = $_POST;
}
Controller::Process($params);
?>

Контроллер как таковой

<?php
include_once 'Common.php';
include_once 'Entities.php';
include_once 'Database.php';

<?php
class Controller
{
public static function Process($data)
{
echo base64_decode($data["Data"]);
}
}
?>

Когда я проверяю результаты, я получаю

{"Action": "RegisterTower", "Name": "Korzun", "OwnersKey": "8d13fa0f-b54d-43c9-8426-f7cb28f93cfd", "ObjectID": "be4885a4-a596-6a65-925e-470f149e9b63", "ParcelName": "~Lost Lands~"}
{"Action": "CheckInTower", "Name": "Korzun", "OwnersKey": "8d13fa0f-b54d-43c9-8426-f7cb28f93cfd", "ObjectID": "be4885a4-a596-6a65-925e-470f149e9b63", "ParcelName": "~Lost LandsHŸ

Почему вторая строка JSON декодируется с

"~Lost LandsHŸ

когда первый сделал это

"~Lost Lands~"}

ОБНОВЛЕНИЕ: как предложено Приличным Dabble
Содержимое $ data [«Data»] каждый раз

eyJBY3Rpb24iOiAiUmVnaXN0ZXJUb3dlciIsICJOYW1lIjogIktvcnp1biIsICJPd25lcnNLZXkiOiAiOGQxM2ZhMGYtYjU0ZC00M2M5LTg0MjYtZjdjYjI4ZjkzY2ZkIiwgIk9iamVjdElEIjogImJlNDg4NWE0LWE1OTYtNmE2NS05MjVlLTQ3MGYxNDllOWI2MyIsICJQYXJjZWxOYW1lIjogIn5Mb3N0IExhbmRzfiJ9

а также

eyJBY3Rpb24iOiAiQ2hlY2tJblRvd2VyIiwgIk5hbWUiOiAiS29yenVuIiwgIk93bmVyc0tleSI6ICI4ZDEzZmEwZi1iNTRkLTQzYzktODQyNi1mN2NiMjhmOTNjZmQiLCAiT2JqZWN0SUQiOiAiYmU0ODg1YTQtYTU5Ni02YTY1LTkyNWUtNDcwZjE0OWU5YjYzIiwgIlBhcmNlbE5hbWUiOiAifkxvc3QgTGFuZHN In0=

Я предполагаю, что теперь я отправил это, проблема — место в конце второго. Исходные данные, которые я отправляю,

eyJBY3Rpb24iOiAiQ2hlY2tJblRvd2VyIiwgIk5hbWUiOiAiS29yenVuIiwgIk93bmVyc0tleSI6ICI4ZDEzZmEwZi1iNTRkLTQzYzktODQyNi1mN2NiMjhmOTNjZmQiLCAiT2JqZWN0SUQiOiAiYmU0ODg1YTQtYTU5Ni02YTY1LTkyNWUtNDcwZjE0OWU5YjYzIiwgIlBhcmNlbE5hbWUiOiAifkxvc3QgTGFuZHN+In0=

Итак, как мне это решить ???

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]