UTF-8 でエンコードされた XML ファイルからデータを取得し、すべての要素を UITableView に表示したいと考えています。セルのサイズを同じにして、最初の 2 行のテキスト行を可能な限り多くのデータで表示したいので、キャリッジ リターンを削除しようとしました。
私の cellForRow メソッドでは、これを変更しました:
[[myCell textLabel] setText:data];
に :
[[myCell textLabel] setText:[self correctData:data]];
ここに私の correctData メソッドがあります:
- (NSString *) correctData : (NSString *) str
{
NSMutableString *res = [NSMutableString stringWithFormat:@""];
for(int i = 0 ; i < [str length] ; i++)
{
char car = [str characterAtIndex:i];
if(car != 10 && car != 13)
[res appendString:[NSString stringWithFormat:@"%c",car]];
}
return res;
}
これにより、改行が正しく削除されますが、UTF-8 文字も変更されます。たとえば、最初の文字列 (str) の一部:
ディプロメ(e) デタット
そして、この関数では次のようになります。
DiplÙmÈ(e) d'Etat
私は何をすべきか ?ありがとう。