php - 重音字符使用 curl 显示很奇怪
问题描述
我正在尝试使用 V3 API 将联系人添加到 Constant Contact 帐户。一些用户数据包含重音字符,当我添加这些时,它unicode
在常量联系人帐户中显示为字符。
例如, 名字是GÒKÜL,姓氏是NÁTH。它始终显示为Gu00d2Ku00dcL 和Nu00c1TH。我想将这些显示为原创。
我认为问题出在我的 curl 函数中以添加/更新联系人。下面是代码
function updateContact($access_token,$contactid,$entry){
$ch = curl_init();
$base = 'https://api.cc.email/v3/';
$url = $base . '/contacts/'.$contactid;
curl_setopt($ch, CURLOPT_URL, $url);
$authorization = 'Authorization: Bearer ' . $access_token;
$ct = 'Content-Type: application/json;';
curl_setopt($ch, CURLOPT_HTTPHEADER, array($authorization, $ct));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $entry);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
我试过$ct = 'Content-Type: application/json; charset=UTF-8';
但$result = utf8_decode(curl_exec($ch));
没有工作。
我想有人可以帮助我..
解决方案
这些不是“unicode”字符,它们看起来有点像 Unicode 转义序列,但是缺少反斜杠。你不应该得到Gu00d2Ku00dcL
,但是G\u00d2K\u00dcL
。
我希望这些反斜杠确实存在,并且共享此输出时出现了问题。如果是这种情况,解析这些的最简单方法是使用该json_decode
函数。
如果确实缺少这些反斜杠,那么这表明您正在使用的服务器已损坏,并且没有简单的解决方法。在这种情况下,您可能需要联系运行此服务器的人员并让他们知道。
推荐阅读
- javascript - Meteor.js 中超出标准输出 maxBuffer 长度
- python - 如何在 MySQL 数据库中存储 PDF 而无需在 Python 中生成 PDF 文件
- c# - 不使用 C# 将数据插入 SQL Server 数据库
- php - 如何在类内的多维数组中插入变量
- c++ - 在 C++ 中的继承类中声明构造函数时出错
- python - flask python - 提取在 post 方法中发送的 json 数据
- prolog - 可以使用 head 变量作为主体中的函子名称吗?
- ibm-cloud - 在 Watson Dialog 响应中显示实体的所有同义词
- c++ - 将回调函数指针传递给另一个类中的函数
- spring-boot - 在 Expo 上上传 FormData