0

我有一個iPhone應用程序獲取來自Windows服務器的推送通知以及HTTP上的其他數據,我通過HTTP獲取的數據在屏幕上看起來不錯,但推送通知只顯示問題標記,我試着將其編碼爲UTF -8,ASCII,但我仍然得到問號,我的iPhone配置爲希伯來文,我有一個he.lproj文件並且沒有任何文件希伯來語Apple推送通知顯示爲'????????'

有沒有人有一個想法?

+1

我知道UTF8編碼的希伯來語爲APNS工作的事實。應用程序配置無關緊要,請顯示您的服務器端代碼。 – ssteinberg

回答

3

得到了什麼錯誤,我使用基於Moon-Apns的推送通知服務器,並檢查源代碼後,我發現他們正在編碼UTF-8所需的字符......但他們不使用他們編碼的字符串他們將原始字符串傳遞給apn,所以我修復了它,現在一切都很順利,謝謝大家,試圖幫助我!如果有人需要這種修復病很高興指向它,並給出代碼

+1

「我嘗試了大約2天,因爲你做了同樣的事情,我使用了moonapns並在推送通知中得到了十六進制值的結果,我只是想知道你對服務器端和客戶端做了什麼.................在發送通知之前,我可以在字符串中應用下面的代碼...........如果((int)c <32 ||(int)c> 127) encodedString.Append(「\\ u」+ String.Format(「{0:x4}」,Convert.ToUInt32(c))); else encodedString.Append(c); }「。 – jamil

0

使用的NSLog看到什麼數據pushnotification和的appdelegate didreceive遠程通知方法接收,如果沒有數據,那麼你必須在服務器端的問題,可能是在正確的參數分配給通知對象

+0

我得到的字母數量,因爲我發送,但看到它作爲問號 –

+0

你如何在服務器端分配,並輸出什麼NSLOG – Saad

+0

在NSLog我看到相同的問號,並且當我發送消息時服務器是好的英文 –

0

製作確保發送和接收站點上的編碼是相同的(例如UTF8)。

對於我的具體幫助,您的代碼是必要的。

如果您無法使用NSLog()打印非拉丁文本,this question可能可以幫助您。

+0

改變了調試器,但仍然在推送通知中得到問題標記 –

1

在我看來,你的服務器端編碼希伯來文不正確。嘗試確保服務器響應正確。我有與俄羅斯編碼相同的問題,它只有當我們將php響應代碼設置爲UTF-8(不是Latin1,因爲它是默認設置)時才解決。