Обработка специальных символов ra, ø, å в задании c - iphone - PullRequest
4 голосов
/ 27 февраля 2011

У меня есть UILabel, который я изменяю через код.Однако, когда я создаю строку NSS с символами æ, ø, å (датский), я получаю предупреждение о преобразовании ввода.Код выглядит так:

NSString *label=[[NSString alloc]initWithFormat:@"Prøv igen"];

И предупреждение, которое я получаю, - предупреждение: преобразование ввода остановлено из-за входного байта, который не принадлежит кодовому вводу UTF-8.Я могу понять, что, вероятно, не кодировка UTF, но что делать?Кто-нибудь, кто может дать мне подсказку о том, что делать, чтобы решить эту проблему?

С уважением

Бьярке

Ответы [ 3 ]

3 голосов
/ 27 февраля 2011

Ваш исходный код не сохраняется как UTF-8, но, скорее всего, что-то вроде ISO-8859-1.

Просто откройте файл и снова сохраните его как UTF-8 - и пока вы его используете, вам, вероятно, следует также сделать это по умолчанию. Как именно это сделать, зависит от того, какой редактор вы используете.

2 голосов
/ 27 февраля 2011

Убедитесь, что кодировка текста вашего файла установлена ​​на UTF-8, а не Western (ISO) или что-то еще.Вы можете использовать инспектор информации файла XCode, чтобы сделать это.

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/XcodeWorkspace/050-File_Management/file_management.html%23//apple_ref/doc/uid/TP40002677-BABICEHI

Убедитесь, что он говорит Unicode (UTF-8) для кодировки файла.Если он попросит вас, скажите ему переосмыслить ваш файл с новой кодировкой.Кроме того, вы можете удалить проблемный текст и заново ввести его, чтобы он заработал.

0 голосов
/ 03 февраля 2012

У меня была такая же проблема, но мои исходные файлы уже были в кодировке UTF-8, поэтому я исправляю это по-другому. В вашем случае это было бы что-то вроде

NSString * label = [NSString stringWithUTF8String "Prøv igen"];

Надеюсь, это будет полезно для других, кто наткнется на этот вопрос

...