php - 带有特殊字符的 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 会显示在奇怪的垃圾字符中。
解决方案
推荐阅读
- security - 为什么要在 XSS 预防中将 & 转换为 & ?
- css - 如何在 Polymer 2 中正确导入 Material Design Iconic Font?
- java - Apache tika 将 docx 文件中的嵌入式 word pad 文件转换为 .bin 文件
- ios - 使用 segue 导航到另一个控制器
- laravel - 如何在 Laravel 的 Sqlite 中注册一个函数?
- linux - ERRR:无法从 baseport = 54321 找到 /168.2.4.54 的空闲端口
- azure - VMExtensionProvisioningError:超时
- python - 将嵌入在 C 中的 Word2Vec 转换为 Python 的 Gensim Word2vec
- javascript - 节点服务器,html输入null
- reactjs - Redux Thunk:动作必须是普通对象