арабский текст, хранящийся как «???»

Я пытаюсь сохранить арабский текст в My SQL.

Моя таблица SQL имеет сортировку как utf8_general_ci

У меня есть текстовое поле в приложении iPhone, и я сохраняю данные с помощью PHP.

Код PHP выглядит ниже.

 $con = mysql_connect(localhost, $username, $password); @mysql_select_db($database) or die("Unable to select database"); $propType = $_POST['propType']; $price = $_POST['price']; $type = $_POST['type']; $zone = $_POST['zone']; $location = $_POST['location']; $no_floor = $_POST['no_floor']; $no_apt = $_POST['no_apt']; $basement = $_POST['basement']; $area = $_POST['area']; $addedBy = $_POST['addedBy']; $imagePath = $_POST['imagePath']; $saleType = $_POST['dummy001']; $mauka = $_POST['mauka']; $mobileNumForDial = "0"; $result = mysql_query("SELECT mobileNumber FROM userInfo WHERE username='$addedBy'"); while($data = mysql_fetch_row($result)){ $mobileNumForDial=$data[0]; } $sql = mysql_query("INSERT INTO buildingData (propType, price, type, zone, location, no_floor, no_apt, basement, area, addedBy, imagePath, dummy001, dummy002, mauka) VALUES ('$propType', '$price', '$type', '$zone', '$location', '$no_floor', '$no_apt', '$basement', '$area','$mobileNumForDial','$imagePath', '$saleType', '', '$mauka')"); 

Код iPhone выглядит ниже

 if ([btnImage.accessibilityIdentifier isEqualToString:@"no_image"]) { imageSet = @"missing"; } else { imageSet = @"set"; } post = [[NSString alloc] initWithFormat:@"propType=%d&price=%@&type=%d&zone=%d&location=%d&no_floor=%d&no_apt=%d&basement=%d&area=%@&addedBy=%@&imagePath=%@&dummy001=%d&mauka=%@", realEstatePV.selectedItem, priceData.text, typePV.selectedItem, areaPV.selectedItem, regionPV.selectedItem, floorData.text.intValue, aptData.text.intValue, basementPV.selectedItem, areaData.text, [keychainItem objectForKey:kSecAttrAccount], imageSet, salePV.selectedItem, mauka.text]; postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; postLength = [NSString stringWithFormat:@"%d", [postData length]]; url = [NSURL URLWithString:@"http://www.smart-kw.com/sama/saveBldgData.php"]; NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; [theRequest setHTTPMethod:@"POST"]; [theRequest setValue:postLength forHTTPHeaderField:@"Content-Length"]; [theRequest setHTTPBody:postData]; NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; if( theConnection ) { indicator.hidden = NO; [indicator startAnimating]; webData = [[NSMutableData data] retain]; } else { NSLog(@"Internet problem maybe..."); } 

Проблема в

Когда я храню английские данные, все в порядке.

Однако, когда я печатаю арабский текст, он хранится как ??? в базе данных mysql.

Любая идея, почему это происходит?


Редактировать 1

Я также пытался с ниже, но все же данные хранятся как * ???

 mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8'); $sql = mysql_query("INSERT INTO buildingData (propType, price, type, zone, location, no_floor, no_apt, basement, area, addedBy, imagePath, dummy001, dummy002, mauka) VALUES ('$propType', '$price', '$type', '$zone', '$location', '$no_floor', '$no_apt', '$basement', '$area','$mobileNumForDial','$imagePath', '$saleType', '', '$mauka')"); 

Попробуйте установить postData для кодирования с помощью UTF 8 вместо кодировки ASCII:

 postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 

Попробуй:

 [theRequest setValue:@"charset=UTF-8" forHTTPHeaderField:@"Content-Type"];