首页 > 解决方案 > 带有特殊字符的 Jquery base64 编码

问题描述

我有一个带有输入字段的应用程序,您可以在其中输入您的姓名。该应用程序在带有 FPDF 的 pdf 文档上输出名称。由于这个应用程序是瑞典语,很多人会输入带有特殊字符的名称,如 å、ä、ö。其中一个输入(人名)如下所示:

fromName = $.base64.encode($('#voucherName').val())

这通过:

$.ajax({
    url: frontend_ajax_object.ajaxurl,
    type: "POST",
    contentType: "application/x-www-form-urlencoded; charset=UTF-8",
    data: 'action=wpgv_doajax_pdf_save_func&nonce='+nonce+'&template='+templates_id+'&for='+forName+'&from='+fromName+'&value='+voucherValue+'&message='+message+'&expiry='+expiry+'&code='+code+'&firstname='+firstName+'&lastname='+lastName+'&email='+email+'&address='+address+'&pincode='+pincode+'&paymentmethod='+paymentMethod,
    success: function(a) {
        window.location.replace(a);
    },
    error: function() {
        alert('Error occured');
    }
});

然后在 php 中解码,如下所示:

$from = sanitize_text_field(base64_decode($_POST['from']));

但问题是,例如当有人输入名字 Björn 时,特殊字符“ö”i 会显示在奇怪的垃圾字符中。

标签: phpjquerybase64special-characters

解决方案


推荐阅读