2012-03-03 2 views
1

Каков правильный способ обработки символов Юникода в приложении iOS, который вызывает API-интерфейс Foursquare?Надлежащее обращение с символами unicode в квадратных скобках в приложении iOS

Наша текущая установка вызывает API-интерфейс Foursquare из нашего приложения iOS и возвращает XML (да, мы меняем это на JSON).

При тестировании нашего приложения мы обнаружили, что этот квадрат location укусил наше приложение - по-видимому, потому, что мы не настроили обработку двух символов Emoji в названии места.

Каков правильный способ обработки символов Юникода на каждом уровне?

В Objective-C, как мы называем API-интерфейс Foursquare? В наших наших веб-сервисах WCF, когда мы возвращаем данные XML в приложение? В SQL Server 2008, поскольку мы сохраняем имя места, которое может содержать символы Unicode?

На стороне базы данных я знаю, что нам нужно внести некоторые изменения в настройки сортировки, между прочим.

Какие изменения, если таковые имеются, необходимы для правильной поддержки unicode 6.1 в нашем приложении iOS и веб-сервисах?

Спасибо!

+0

Благодарим за то, что вы указали пример места с четырьмя квадратиками с эмози в его имени; это то, что я искал, когда я перешел на эту страницу. – Gabe

ответ

0

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

Это может произойти без явно делать это в зависимости от того, как у вас есть настройки базы данных, XML-кодирующая используется, конфигурация сервера HTTP и т.д.

Unicode 6.1 только добавляет символы, кодировка точно так же (т. е. некоторые коды, которые не сопоставлялись ни с чем, теперь сопоставляются с вещами).

+0

Просмотрел символы юникода в примере места (https://foursquare.com/v/hotel-sentosa/4d69be3c82cba0936bf5ded8), и они находятся в блоке частного использования, поэтому они [практически] никогда не сопоставляются между кодировкой символов. – Gabe