Podczas wysyłania emoji na serwer "\ ud83d \ ude0e" (emoji unicode) w podanym formacie, serwer nie mógł zrozumieć kodu i podczas wysyłania powiadomień push z serwera do urządzenia, powiadomienie nie nadchodzi.Jak kodować emoji podczas wysyłania na serwer (Ruby on Rails)?
Użyłem:
NSData *data = [self.activeTextField.text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
do kodowania wiadomości (Emotikon) podczas wysyłania i używane:
NSData *data = [strReceivedMsg dataUsingEncoding:NSUTF8StringEncoding];
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];
podczas odbierania wiadomości.
Proszę sugerują, jak rozwiązać ten problem
Dzięki
Jakie są rzeczywiste bajty są odbierane przez serwer, i zrobić swoje HTTP (Jestem przy założeniu mówimy tutaj o HTTP) nagłówki deklarują poprawne kodowanie znaków? –
Używamy gniazda internetowego do przesyłania wiadomości. W rzeczywistości jest to funkcja czatu. Kiedy wysyłam emotikony przez gniazdo, serwer uzyskuje kod uni, a "\" jest usuwany przez "\\", który jest nierozpoznawany przez iOS. Jaki będzie standardowy format wysyłania emoji, który będzie obsługiwany przez serwer, a także na platformach między innymi –
Co rozumiesz przez "serwer nie mógł zrozumieć kodu"? Czy otrzymujesz komunikat o błędzie? Nie jestem dobrze zorientowany w rozwoju iOS, ale kodowanie 'NSNonLossyASCIIStringEncoding' jest podejrzane. Jeśli masz emoji, twój ciąg nie jest ASCII. –