【发布时间】:2017-04-13 05:13:19
【问题描述】:
我正在编写一个连接到另一个 WP 站点的 WP 插件,并获得一些数据作为回报(一些强大的条目,带有名称和其他内容)。
一切都很好,我的插件基本上可以正常工作 - 但我今天注意到它有一些奇怪的编码问题 - 我住在北欧国家,所以 ø æ l 在名称中很常见。
过去 2 小时我一直在调试,但似乎无法找出问题所在。
**Data path:**
End-point -> Plugin - \00f8
Data received - \u00f8
Data saved - u00f8
我使用以下代码接收数据:
$aDataRecevied = json_decode(oaal_CallEndpointAPI('GET', 'xxxxxx.dedi2491.your-server.de/wp-json/oaeu/v1/api', $aDataSend));
$sFrmEntriesRecevied = $aDataRecevied->sData->aFrmEntries;
然后我找到我的自定义 WP 帖子,并将其添加/更新到帖子中:
update_post_meta($iPost_ID, "aFrmEntries", json_encode($aFrmEntries), "");
数据库正在运行:InnoDB 和 utf8mb4_unicode_ci,但我非常有信心这不会是一个问题(?)
我不太确定这有什么问题,但我希望有人有一个想法
插件从端点获取的字符串如下所示:
{"64":"H\u00f8jb","65":"Hansen","66":"asd@hotmail.com","date_created":"2016-11-21 13:11:26","form_id":"6"}
编辑
当我将数据保存到数据库时,WP 显然删除了 \
【问题讨论】:
-
你的斜线是错误的方式。你想要
\u00f8。 -
为了帮助您,我们需要发送
\u00f8的特定代码,否则我们就是瞎子。 -
我已经附加(编辑)我的原始帖子,从终点返回的字符串,应该足以证明问题不是终点本身,因为它实际上返回了正确的字符串:)