【发布时间】:2011-03-22 15:58:34
【问题描述】:
我正在尝试使用Easy APNs 在警报通知中发送丹麦语字符(Æ、Ø、Å),但这样做时,不会发送任何消息。如果我用声音发送它,则只发送声音。此外,如果该消息包含任何丹麦字符,则该消息将在数据库中设置为“null”。
有人知道解决这个问题的方法吗?
【问题讨论】:
标签: php iphone push-notification push apple-push-notifications
我正在尝试使用Easy APNs 在警报通知中发送丹麦语字符(Æ、Ø、Å),但这样做时,不会发送任何消息。如果我用声音发送它,则只发送声音。此外,如果该消息包含任何丹麦字符,则该消息将在数据库中设置为“null”。
有人知道解决这个问题的方法吗?
【问题讨论】:
标签: php iphone push-notification push apple-push-notifications
这是由json_encode() 引起的。在json_encode() 解决问题之前,在我的警报视图中使用utf8_encode()。
更新(如何解决问题)
1.在class_APNS.php 411 行附近,您有
$msg = chr(0).pack("n",32).pack('H*',$token).pack("n",strlen($message)).$message;
在此之上,放:
$message = utf8_encode($message);
2. 在class_APNS.php(同一文件)中输入:
$usermessage['aps']['alert'] = utf8_encode($usermessage['aps']['alert']);
把它放在下面:
$fk_device = $this->db->prepare($list[$i]);
$message = $this->_jsonEncode($usermessage);
$message = $this->db->prepare($message);
$delivery = (!empty($when)) ? "'{$when}'":'NOW()';
【讨论】:
class_APNS.php 中不存在此代码(如下),或者至少我找不到它:if(!$usermessage['aps']['alert']) { $usermessage['aps']['alert'] = NULL; } else { echo $usermessage['aps']['alert']; }