Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
fom4ik
49 / 7 / 1
Регистрация: 07.11.2010
Сообщений: 52
#1

Кодировка: кракозябры при выводе в консоль - Objective-C

14.09.2011, 22:08. Просмотров 1910. Ответов 3
Метки нет (Все метки)

Здравствуйте!

Написал следующий код
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#import <Foundation/Foundation.h>
 
int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 
    NSString *myName = @"Иван Иванов";
    NSString *myCardName = @"VISA";
    NSString *myCardType = @"Type1";
    NSString *myBank = @"ТРАСТ";
        
    NSLog(@"Текст %s : ",[myName  UTF8String]);
    
    
    [pool drain];
    return 0;
}
myCardName выводит нормально, а myName кракозябрами.

Running…
2011-09-14 22:04:37.866 MySafe[5572:a0f] Текст –Ш–≤–∞–љ –Ш–≤–∞–љ–Њ–≤ :

Debugger stopped.
Program exited with status value:0.


Где может быть проблемма? Причем слово "Текст" выводит нормально.

Пробовал так:
C
1
NSLog(@"Текст %s : ",[myName  UTF8String]);
Выводит китайские иероглифы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rkorin
4 / 4 / 0
Регистрация: 05.09.2011
Сообщений: 19
15.09.2011, 01:47     Кодировка: кракозябры при выводе в консоль #2
Не используйте utf8 и %s. Пользуйте %@ и передавайте туда чистый NSstring
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
15.09.2011, 04:55     Кодировка: кракозябры при выводе в консоль #3
%s - Ужас, вы хоть учебник по Objective - C открывали?
NSString и %@ для вывода - это панацея от всего, что связано со строками в ObjC. Просто манна небесная, имхо )
Objective-C
1
2
NSString *helloString = @"Hello! Go and read manual!";
NSLog(@"Текст %@: ", helloString );
fom4ik
49 / 7 / 1
Регистрация: 07.11.2010
Сообщений: 52
15.09.2011, 19:55  [ТС]     Кодировка: кракозябры при выводе в консоль #4
Цитата Сообщение от zulkis Посмотреть сообщение
%s - Ужас, вы хоть учебник по Objective - C открывали?
NSString и %@ для вывода - это панацея от всего, что связано со строками в ObjC. Просто манна небесная, имхо )

C++
1
2
NSString *helloString = @"Hello! Go and read manual!";
NSLog(@"Текст %@: ", helloString );
Да открывал. Стива Кочана. Я написал как он и писал в книге. И проблемм с английскими строками у меня нет) Так что спасибо, но "Hello! Go and read manual!" я вывести смог бы

Добавлено через 2 минуты
Цитата Сообщение от rkorin Посмотреть сообщение
Не используйте utf8 и %s. Пользуйте %@ и передавайте туда чистый NSstring
Спасибо, видно где то не так понял. Пойду читать мануал
Yandex
Объявления
15.09.2011, 19:55     Кодировка: кракозябры при выводе в консоль
Ответ Создать тему
Опции темы

Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru