【问题标题】:Danish characters with Easy APNs带有 Easy APN 的丹麦语字符
【发布时间】:2011-03-22 15:58:34
【问题描述】:

我正在尝试使用Easy APNs 在警报通知中发送丹麦语字符(Æ、Ø、Å),但这样做时,不会发送任何消息。如果我用声音发送它,则只发送声音。此外,如果该消息包含任何丹麦字符,则该消息将在数据库中设置为“null”。

有人知道解决这个问题的方法吗?

【问题讨论】:

    标签: php iphone push-notification push apple-push-notifications


    【解决方案1】:

    这是由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()';
    

    【讨论】:

    • 能否请您解释一下您是如何修复它的。您在哪里将其确切更改为 utf-8 以及在哪个类中!谢谢。
    • @Juono 我已经更新了我的答案来解释如何解决这个问题。
    • 感谢回答我的问题,但class_APNS.php 中不存在此代码(如下),或者至少我找不到它:if(!$usermessage['aps']['alert']) { $usermessage['aps']['alert'] = NULL; } else { echo $usermessage['aps']['alert']; }
    • 对不起。我认为这是我的另一个修补程序。试试您是否可以在我的答案中找到新代码。我刚刚更新了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多