我在Cookie中遇到问题。我正在使用此代码创建cookie:
// var
$firstName = $_POST['name'];
$lastName = $_POST['sname'];
$email = $_POST['email'];
$phone = $_POST['tel'];
setcookie("firstName", $firstName);
setcookie("lastName", $lastName);
setcookie("email", $email);
setcookie("phone", $phone);
使用此填写表格:
var fillForm = function() {
firstName = getCookie('firstName');
lastName = getCookie('lastName');
email = getCookie('email');
phone = getCookie('phone');
$('#name-input').val(firstName);
$('#name2-input').val(lastName);
$('#email-input').val(email);
$('#phone-input').val(phone);
}
我的问题是,当用户写下名称Łukasz
或普通电子邮件some.email@domain.com
时,Cookie值采用以下格式:名称%C5%81ukasz
和电子邮件some.email%40domain.com
。
我尝试使用Stack Overflow中的解码和编码功能,但我从输入%C5%81
收到的最佳结果是字母Å
(ASCII),但我需要得到Ł
( UTF8)。
答案 0 :(得分:0)
使用unescape()
函数导致了问题。切换到decodeURI()
或decodeURIComponent()
修复它。非常感谢你! :))