Charset修复了UTF8 - 使用JS / jQuery编码/解码值

时间:2016-06-01 07:45:11

标签: javascript jquery forms cookies

我在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)。

1 个答案:

答案 0 :(得分:0)

使用unescape()函数导致了问题。切换到decodeURI()decodeURIComponent()修复它。非常感谢你! :))