поэтому у меня есть небольшая проблема, потому что мне нужно проверить, существует ли «продукт» в базе данных, и если нет, я хочу создать его. Я делал что-то вроде этого:
$tekst2 = "SELECT * FROM product WHERE nazwa = '$nazwa'";
$id_zap2 = mysql_query($tekst2);
if(!$id_zap2)
{
return new Response('Nie można przesłać zapytania.');
}
else
{
$row2 = mysql_num_rows($id_zap2);
}
if($row2 == 0)
{
$product->setCena($cena);
$product->setJednostka($jednostka);
$product->setIlosc($ilosc);
$product->setNazwa($nazwa);
$em = $this->getDoctrine()->getManager();
$em->persist($product);
$em->flush();
return $this->redirect('addproduct?done=' . $nazwa);
}
else
{
return $this->redirect('addproduct?error=1');
}
И когда я использую для «$ nazwa» нормальные буквы, все в порядке. Например, «Kukurydza», «Chleb» работают нормально, но когда я использую польские буквы, например, «Mąka», он всегда возвращает 0 как «$ row2», и я могу создать множество продуктов с тем же именем ($ nazwa).
Я должен добавить:
$tekst3 = "SET NAMES utf8";
mysql_query($tekst3);
$tekst3 = "SET CHARACTER_SET utf8_unicode_ci";
mysql_query($tekst3);
В моем коде и сейчас все работает нормально!
Других решений пока нет …