Я поставлен в тупик, так как не передаю ни один код латинского символа с кодировкой ajax, а затем расшифровываю с помощью php, помещаю его в sqlite и затем возвращаю эти данные через ajax, и они отображаются
Вход не соответствует выходу
Используемые мной данные
https://en.wikipedia.org/wiki/List_of_Unicode_characters
https://en.wikipedia.org/wiki/Emoji
Мне нужно иметь возможность преобразовывать данные, передавать их через ajax, а затем в php, затем вставлять в sqlite и извлекать эти данные, кодировать, а затем передавать обратно через ajax и unencode и для вход и выход совпадают одинаково, как это сделать? действительно нужна помощь с этим
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
//echo 'Posted Data: '.$_POST['input1']."<br /><br />";
$db_location = 'db.db';
$db = new sqlite3($db_location);
$data = htmlspecialchars(SQLite3::escapeString(base64_decode($_POST['input2'])));
//$data = $_POST['input1'];
$query = "UPDATE item SET data='$data' WHERE id='2602'";
//echo $query."<br /><br />";
//$query = $db->exec('UPDATE item SET data="" WHERE id="2542"');
$r = $db->query($query);
$db->close();
$db = new sqlite3($db_location);
$r = $db->query("select * from item where id='2602'");
$d = $r->fetchArray();
//$output = urldecode($d['data']);
$output = (htmlspecialchars(base64_encode($d['data'])));
$db->close();
//$_POST['input2'] = htmlspecialchars($_POST['input1']);
}
?>
<form class="" action="" method="post" onsubmit="">
Normal: <textarea class="input1" name="input1" rows="4" style="width:300px"><?php echo $_POST['input1'];?></textarea><br />
JS BTOA: <textarea onclick="btoaBase64Test()" class="input2" name="input2" rows="4" style="width:300px"><?php echo $_POST['input2'];?></textarea><br />
PHP Data: <textarea class="input3" name="input3" rows="4" style="width:300px"><?php echo $output;?></textarea><br />
JS Data: <textarea class="input4" name="input4" rows="4" style="width:300px"><?php echo $output;?></textarea><br />
<input type="submit" /> <span class="show"><?php echo $result;?></span>
</form>
<button onClick="btoaBase64Test()">btoa</button>
<button onClick="bee()">decode</button>
<script>
//return UpdateForm(this);
function btoaBase64Test() {
//executeWithTryCatch(function () {
var inputText = document.querySelector('.input1');
encoded = btoa(unescape(encodeURIComponent(inputText.value)));
document.querySelector('.input2').value = encoded
//});
}
function bee() {
//executeWithTryCatch(function () {
var inputText = document.querySelector('.input3');
decoded = decodeURIComponent(escape(atob(inputText.value)));
document.querySelector('.input4').value = decoded
//});
console.log('ooo');
}
//var elem = document.querySelectorAll("textarea");
//elem[2].value = btoa(unescape(encodeURIComponent(<?php echo $output;?>)));
function UpdateForm(t) {
var elem = document.querySelectorAll("textarea");
console.log(elem);
var input = elem[0].value;
var encode = btoa(input);
//var decode = atob(encode);
elem[1].value = btoa(unescape(encodeURIComponent("ജോയ് മോൻ")));//btoa(unescape(encodeURIComponent(input)));
//return false;
t.submit();
}
</script>