【问题标题】:Charset fix to UTF8 - encoding/decoding values using JS/jQueryUTF8 的字符集修复 - 使用 JS/jQuery 编码/解码值
【发布时间】:2017-03-22 08:29:19
【问题描述】:

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

【问题讨论】:

  • 你如何解码价值?
  • decodeURIComponent('%C5%81ukasz') || decodeURI('%C5%81ukasz') 有效

标签: javascript jquery forms cookies


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2016-05-31
    • 2016-11-12
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多