iOS: caracteres unicode do ZBar SDK

Ao escanear códigos QR com ZBar, a string resultante do processo não exibe os caracteres unicode corretamente. A palavraMárti codificado como um código QR por qualquer livre para usar gerador de código QR (comohttp://qrcode.kaywa.com) resultaria emM テ 。rti.

Em outras questões do SO (1, 2) foi sugerido incorporar uma BOM no início da string resultante, mas fazendo isso:

NSString *qrString = [NSString stringWithFormat:@"\xEF\xBB\xBF%@",symbol.data];

ou isto:

NSString *qrString = [[NSString alloc] initWithFormat:@"\357\273\277%@", symbol.data];

resultou no mesmo resultado falho do personagem asiático.symbol.data é a NSString resultante fornecida pelo ZBar.

ATUALIZAÇÃO: Com base na resposta da dda, a solução foi a seguinte:

NSString *qrString = symbol.data;
//look for misinterpreted acute characters and convert them to UTF-8
if ([qrString canBeConvertedToEncoding:NSShiftJISStringEncoding]) {
  qrString = [NSString stringWithCString:[symbol.data cStringUsingEncoding: NSShiftJISStringEncoding] encoding:NSUTF8StringEncoding];
}

questionAnswers(3)

yourAnswerToTheQuestion