iphone中的丹麦语言支持数据库

时间:2012-02-09 09:34:22

标签: iphone objective-c sqlite

我正在开发一个iphone应用程序,其中我必须使用在sqlite中预先捆绑的丹麦语。我有excelsheet(.csv)格式的丹麦语语言数据,我必须将其导入sqlite数据库。但丹麦语有一些特殊的字符,我无法检索,因为它似乎在excelsheet。您能否建议我如何实现这一目标并使用丹麦语sqlite数据库。

感谢。

3 个答案:

答案 0 :(得分:0)

当您要在db中输入值时将它们转换为

$(char *)[str cStringUsingEncoding:NSUTF8StringEncoding] 

答案 1 :(得分:0)

这是一些python代码,它创建一个sqlite脚本,根据csv文件的内容创建并插入到表中。它导入一个名为feeds.csv的文件,这是一个用;分隔的UTF8文件,用通用新行(U)打开(这是为了在Mac上读取时支持DOS样式文件) )。

有问题的文件有一个初始行,其中包含列名,这些列填充到data表中,该表由代码构成。

脚本的输出是一个可以使用命令sqlite foo.db <output执行的文件。放入.db文件的数据将原生为UTF8。

#!/usr/bin/python

import csv

reader = csv.reader(open("feeds.csv", 'rU'), delimiter=';')

printed_header = None
num_cols = None

for row in reader:
    if not printed_header:
        num_cols = 0
        print "create table data (",
        for col in row:
            if len(col) > 0:
                num_cols += 1
                if (num_cols > 1):
                    print ",",
                print "%s varchar" % col, 
        print ");"
        printed_header = True
        continue
    else:
        print "insert into data values (",
        pcol = 0
        for col in row:
            if len(col) > 0:
                if pcol > 0:
                    print ",",
                pcol += 1
                print "'%s'" % col.replace("'", "''"),
        print ");"

答案 2 :(得分:0)

试试这个

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:CSV_FILE_NAME];
NSFileManager *fm = [NSFileManager defaultManager];

NSData *data=[fm contentsAtPath:filePath];
NSString* newStr = [NSString stringWithUTF8String:[data bytes]];