Значки Emoji, прерывающие вызов REST - PullRequest
0 голосов
/ 13 марта 2012

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

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

1 Ответ

1 голос
/ 21 марта 2012

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

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

...