2012-03-12 3 views
0

При тестировании нашего API один из наших тестеров узнал, что когда они вставляют значок emoji на свое устройство iOS, он успешно сохраняет в нашем MongoDB, однако при его получении они не получают ответ , Я подтвердил это, и наш сервер (Node.js) получит запрос и начнет отправлять данные, но (я думаю) где-то вдоль линии, символы emoji «завершают» запрос или не заставляют его никогда не заканчиваться глаза клиента iOS.Значки Emoji прерывают вызов REST

Кто-нибудь испытал это? Если это так, то лучший способ, с которым вы столкнулись, справиться с иконками emoji. Я знаю, что одним из способов является unescape() каждая строка, которая выходит из Node.js, но она выглядит как не очень чистый подход, а также мне нужно будет декодировать текст на стороне клиента.

+0

Вы уверены, что запрос от MongoDB работает правильно? Можете ли вы запросить документы, содержащие символы эможи из оболочки MongoDB? –

ответ

1

MongoDB поддерживает utf8, к сожалению, символы emoji - utf8mb4, которые многие приложения и языки еще не поддерживают (в том числе MongoDB). Unescape кажется лучшим в настоящее время.

В качестве альтернативы вы можете сохранить его как двоичный файл, но тогда вам нужно будет запросить его по-другому и не сможет запросить регулярные выражения (но сохранит собственные символы).

+0

Как я могу не использовать такие строки? – Mic92