APNS€和¢和$符号

时间:2014-06-30 07:56:05

标签: php character-encoding apple-push-notifications

我正在尝试发送包含特殊字符(如€,¢或$)的推送通知。但最终的信息似乎是:€=> Û。脚本在做什么:

$this->message = "Test special sign €";    
$message = utf8_encode($this->message);
// Create the payload body
$body['aps'] = array(
        'alert' => $message,
        'badge' => '1',
        'sound' => 'default'
);
$body['e'] = $this->event;
$body['i'] = $this->eventId;

$this->payload  = json_encode($body);
var_dump($this->payload);

OUTPUT:var_dump($ this-> payload) string(118)“{”aps“:{”alert“:”Test special sign \ u00db“,”badge“:”1“,”sound“:”default“},”e“:”order“,”i“ “:” 12 “}”

打包邮件并发送。

$msg = chr(0) . pack('n', 32) . pack('H*', trim($RegisterIds[$key]['registerId'])) . pack('n', strlen($this->payload)) . $this->payload;

可以发送欧元符号吗?如果是这样......怎么样? (或者我做错了什么?)

1 个答案:

答案 0 :(得分:0)

  

"所有文件都经过正确的UTF-8编码保存。"

然后您不需要/ 不得使用utf8_encode。此函数将输入解释为ISO-8859-1编码,并将字节转换为其UTF-8等效值。你自己搞砸了你的绳子。