rozochkin
rozochkin

Reputation: 709

NSString iOS Russian encoding

I'm using code below:

AVMetadataItem *item = [self.player.metaData objectAtIndex:0];
NSLog("%@", item.stringValue);

Its works good with any english song title. But, when i'm getting russian song title from AVMetadataItem:

ÐÐÐÐРÐЯ - ÐРСÐРÐÐÐТÐÐУ // СÐУШÐЮТ: 1585

How can i get something like:

Тратата - мы везем с собой кота.

Any help appreciated.

Upvotes: 3

Views: 1327

Answers (1)

never
never

Reputation: 59

Try this:

NSData *test = [item.stringValue dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:YES];
NSString *dataString = [[NSString alloc] initWithData:test encoding:NSUTF8StringEncoding];

We get meta from audio in UTF8 and don't know in what NSStringEncoding it's converted so i use:

for (i = 0; i < 15; i++) {
   NSData *test = [item.stringValue dataUsingEncoding:i allowLossyConversion:YES];
   NSString *dataString = [[NSString alloc] initWithData:test encoding:NSUTF8StringEncoding];
}

Looks like iOS encoding Cyrillic(UTF8) in ISOLatin.

Upvotes: 2

Related Questions