gpt4 book ai didi

ios - 土耳其语字符 ios

转载 作者:行者123 更新时间:2023-11-29 13:19:13 26 4
gpt4 key购买 nike

我是 iOS 编程新手。我正在开发一个应用程序,它从我的网络服务中获取一些句子,我将这些句子插入到我的本地数据库中但是,有些句子包含土耳其语字符,例如; “ü,ğ,ç,ö”。我可以将这些字符很好地插入到我的数据库中,但是当我将它们输出到 UILabel 时,它看起来像:“≈ü ƒü √º √∂”。我尝试转换为 NSUTF8StringEncoding 但无济于事。

我有一个 NSMutableArray,名为 questions,其中包含一些土耳其语字符。如何将此数组转换为 NSUTF8String 格式?

抱歉我的英语不好 :) 谢谢。

最佳答案

啊,我认为问题不在于您需要转换数组 - 而是您如何显示字符串。

检查这个包含土耳其足球运动员数组的代码:

NSMutableArray *questions = [[NSMutableArray alloc] initWithObjects:@"Emre Belözoğlu", @"Gökhan Gönül", @"Mevlüt Erdinç", @"Nuri Şahin", nil];

const char *utf8string = [[NSString stringWithFormat:@"%@", [questions objectAtIndex:0]] UTF8String];
self.title = [NSString stringWithUTF8String:utf8string];

它现在应该以正确的格式将页面标题显示为“Emre Belözoğlu”。


问题也可能出在数据从 SQLite 解析到您的 NSMutableArray 的方式上。以下是我在 Formula 1 应用程序中的实现方式。

viewDidLoad 中,我调用了 [self loadNamesFromDatabase];,它看起来像:

- (void)loadNamesFromDatabase
{
NSString *file = [[NSBundle mainBundle] pathForResource:@"Formula1" ofType:@"sqlite"];
sqlite3 *database = NULL;
if (sqlite3_open([file UTF8String], &database) == SQLITE_OK) {
sqlite3_exec(database, "select driver_id, driver_name, driver_nation, driver_team from drivers", MyCallback, drivers, NULL);
}
sqlite3_close(database);
}

你看到的 MyCallback 函数如下:

static int MyCallback(void *context, int count, char **values, char **columns)
{
NSMutableArray *drivers = (NSMutableArray *)context;
NSString *columnName;
NSString *columnValue;
NSMutableDictionary * record = [NSMutableDictionary dictionary];
for (int i=0; i < count; i++) {
columnName = [NSString stringWithUTF8String:columns[i]];
if (values[i]){
columnValue = [NSString stringWithUTF8String:values[i]];
}
else{
columnValue = @"";
}
[record setObject:columnValue forKey:columnName];
}
[drivers addObject:record];

return SQLITE_OK;
}

drivers 是一个 NSMutableArray。这里的关键是 stringWithUTF8String,您不需要使用顶部的代码,因为所有数据都应该正确编码,因此会正确显示。

关于ios - 土耳其语字符 ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14809188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com