11

I'm trying to determine if a string is latin based or Japanese.

I've tried something like the following but it returns YES for Japanese strings as well:

NSCharacterSet *alphaSet = [NSCharacterSet alphanumericCharacterSet];
BOOL isAlpha = [[myStr stringByTrimmingCharactersInSet:alphaSet] isEqualToString:@""];

A string might be a word like "café" or something like "カフェ" or "喫茶店".

Louis Waweru
  • 3,572
  • 10
  • 38
  • 53

1 Answers1

18

Use the canBeConvertedToEncoding: method. For example:

BOOL isLatin = [myString canBeConvertedToEncoding:NSISOLatin1StringEncoding];

Available encodings are here.

Darren
  • 25,520
  • 5
  • 61
  • 71