Я создал API для базы данных mySQL, чтобы получить данные о продукте для данного штрих-кода.
Обычно он работает хорошо, я могу получить все данные с помощью запроса POST, который имеет приложение Content-Type / x- www-form-urlencoded и параметр тела для штрих-кода.
Почтальон с параметром штрих-кода и ответом
Однако возникает проблема, когда продукт для данного штрих-кода содержит умлаут (ы) - в этом случае я ничего не получаю.
Продукт, содержащий умлаут в названии
Почтальон с этим параметром штрих-кода
Кроме того, вот продукты. php, которые я использую для запроса.
// Create connection
$con=mysqli_connect("localhost"," "," "," ");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//
$barcode = $con->real_escape_string($_POST['barcode']);
$stmt = $con->prepare("SELECT * FROM products WHERE UPC = ? OR EAN = ?");
$stmt->bind_param("ss", $barcode, $barcode);
$stmt->execute();
// Check if there are results
if ($result = $stmt->get_result())
{
// Prepares all the results to be encoded in a JSON
$row = $result->fetch_assoc();
$product_upc = $row['UPC'];
$product_ean = $row['EAN'];
$product_asin = $row['ASIN'];
$product_name =$row['name'];
$product_brand =$row['brand'];
$product_category = $row['category'];
$product_image =$row['imageURL'];
$product_ingredients =$row['ingredients'];
$product = array('UPC' => $product_upc, 'EAN' => $product_ean, 'ASIN' => $product_asin, 'name' => $product_name, 'brand'=> $product_brand, 'category'=> $product_category, 'imageURL'=> $product_image, 'ingredients'=> $product_ingredients);
// encodes array with results from database
echo json_encode($product);
}
// Close connections
mysqli_close($con);
?>
(Просто чтобы упомянуть, что я пробовал как с json_encode ($ product), так и с json_encode ($ product, JSON_UNESCAPED_UNICODE) и это одно и то же)
Есть идеи, как мне это исправить? Спасибо!