json not value, но print_r имеет значение php pdo jquery ajax

if (isset($_POST['continentid'])) { $stmt = $dbh->prepare("SELECT * FROM country_tbl WHERE parent_id = ? "); $stmt->bindValue(1, $_POST['continentid'], PDO::PARAM_STR); if ($stmt->execute()) { if ($stmt->rowCount() > 0) { while ($selected_row = $stmt->fetch(PDO::FETCH_ASSOC)) { $country[] = array('sysid' => $selected_row['sys_id'],'name' => $selected_row['countryname']); } //print_r($country); echo json_encode($country); //echo "312321321321"; //return $country; } } } $.ajax({ type: 'POST', url: '../include/country.php', dataType : "json", data: { continentid: id }, success: function(data) { for(var i = 0; i < data.length; i++) { console.log("PAIR " + i + ": " + data[i].sysid); console.log("PAIR " + i + ": " + data[i].name); } } }); 

У меня есть этот код выше, который отправляет запрос, используя jquery ajax, он вернет идентификатор, который будет использоваться как параметр для оператора select. Затем я использую эти значения в поле выбора. Я задал для этого вопрос. Он работает нормально, теперь странно, что первое значение на континенте не дает список стран, если используется json, но когда я использую print_r, он дает мне список стран, но для другого континента значение json – это нормально, я получаю значение для страны. Вопрос в том, почему первое значение в списке не дает json-значение, но если print_r имеет значение, что не так в этой настройке?

Update

Если я сделаю

print_r ($ страны); echo json_encode (страна $);

для первого элемента

 Array ( [0] => Array ( [sysid] => 1 [code] => 140101000 [name] => China [parentid] => 1 ) [1] => Array ( [sysid] => 2 [code] => 140102000 [name] => Japan [parentid] => 1 ) [2] => Array ( [sysid] => 3 [code] => 140103000 [name] => Hongkong [parentid] => 1 ) ) 

Если я сделаю

print_r ($ страны); echo json_encode (страна $);

для второго элемента

 Array ( [0] => Array ( [sysid] => 1 [code] => 140101000 [name] => China [parentid] => 1 ) [1] => Array ( [sysid] => 2 [code] => 140102000 [name] => Japan [parentid] => 1 ) [2] => Array ( [sysid] => 3 [code] => 140103000 [name] => Hongkong [parentid] => 1 ) ) [ {"sysid":"1","code":"140101000","name":"China","parentid":"1"},{"sysid":"2","code":"140102000","name":"Japan","parentid":"1"},{"sysid":"3","code":"140103000","name":"Hongkong","parentid":"1"} ] 

UPDATE

Я думаю, что нашел проблему, хотя я не нашел решение, но я думаю, что символ ñ и это причина, по которой они не вернут значение для json любой идеи о том, как заставить это вернуть эти значения?