php-带有外国重音字符的Apple Push通知未收到
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-带有外国重音字符的Apple Push通知未收到,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1914字,纯文字阅读大概需要3分钟。
内容图文
![php-带有外国重音字符的Apple Push通知未收到](/upload/InfoBanner/zyjiaocheng/657/410059c9f1e44f1fade2f198a60e47d1.jpg)
我正在发送推送通知,并且消息中包含?,?,ç,?等外来字符(在我的情况下为土耳其语)…消息未到达设备.
这是我的代码:
$message = 'TH?S is push';
$passphrase = 'mypass';
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'MyPemFile.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server
$fp = stream_socket_client(
'ssl://gateway.push.apple.com:2195', $err,
$errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
if (!$fp)
exit("Failed to connect: $err $errstr" . PHP_EOL);
echo 'Connected to Apple service. ' . PHP_EOL;
// Encode the payload as JSON
$body['aps'] = array(
'alert' => $message,
'sound' => 'default'
);
$payload = json_encode($body);
$result = 'Start'.PHP_EOL;
$tokenArray = array('mytoken');
foreach ($tokenArray as $item)
{
// Build the binary notification
$msg = chr(0) . pack('n', 32) . pack('H*', $item) . pack('n', strlen($payload)) . $payload;
// Send it to the server
$result = fwrite($fp, $msg, strlen($msg));
if (!$result)
echo 'Failed message'.PHP_EOL;
else
echo 'Successful message'.PHP_EOL;
}
// Close the connection to the server
fclose($fp);
我尝试使用utf8_encode()对$message变量进行编码,但是收到的消息为“THÝS是push”.其他诸如iconv()之类的方法对我不起作用,其中一些裁剪了土耳其语字符,有些根本没有收到.
我也有
header('content-type: text/html; charset: utf-8');
和
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
在我的页面中.我不认为在设置值时出现问题,但可能是使用pack()函数.
有什么想法可以解决这个问题而不用英文替换字符吗?
解决方法:
我要做的就是用以下脚本替换土耳其语字符:
function tr_to_utf($text) {
$text = trim($text);
$search = array('ü','?','?','?','?','?','ü','?','?','?','?','?');
$replace = array('??','?','Ğ','??','?°','?–','??','??','??','?§','?±','??');
$new_text = str_replace($search,$replace,$text);
return $new_text;
}
现在它可以正常工作了.
内容总结
以上是互联网集市为您收集整理的php-带有外国重音字符的Apple Push通知未收到全部内容,希望文章能够帮你解决php-带有外国重音字符的Apple Push通知未收到所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。