对于我的生活,我无法弄清楚这一点,我一直在浏览网页,找不到答案,但也整天都在编码,所以我的大脑都在炒。目前我正在将倒置的感叹号添加到像这样的字符串
NSString *randomString = [NSString stringWithFormat:@"%@random!", @"\u00A1"];
记录我想要的东西
@"¡random!"
然后我将它插入我的sqlite数据库并使用上面给出的字符串值,如此
if(!(self.dbOpen))
{
[self openDatabaseWithSQLName:@"SMCachedDB.db"];
}
sqlInsertStatement = [NSString stringWithFormat:@"INSERT INTO %@(%@) VALUES(%@)", useTable, myColumns, myValues];
char *error;
// Execute statement
if(sqlite3_exec(cachedDatabase, [sqlInsertStatement UTF8String], NULL, NULL, &error) == SQLITE_OK)
{
hasBeenAdded = YES;
NSLog(@"Entry added into '%@' table", useTable);
} else {
NSLog(@"ERROR: %s", sqlite3_errmsg(cachedDatabase));
NSLog(@"ERROR inserting '%@'", myValues);
hasBeenAdded = NO;
}
字符串在“myValues”字符串中,所以一切都正确存储但是当我选择返回值时,我会在字符串之前得到unicode字符,如此
"\U00a1random!";
我确定我错过了一些愚蠢的话。任何帮助将不胜感激。
答案 0 :(得分:-1)
我明白了。它存储字符串,前面加上实际的unicode字符,所以当我记录存储在数据库中的数据时,它返回
"\u00A1random!"
我认为它会将变量存储为"¡"
而不是实际的unicode。因此,当我从数据库中选择值并记录它时,它返回了必要的值
"¡random!"
在回到它之后,我似乎在昨晚花了所有时间在5分钟内搞清楚了,对不起家伙。