Я работаю над OpenCart, чтобы создать приложение для импорта данных из ERP.
В некоторых описаниях предметов иногда используется символ «°» (градус).
Приложение вставки рассматриваемого стандартного программного обеспечения использует mysql_real_escape_string и принимает указанный выше символ.
В моем приложении я использую ту же функцию, но функция импортирует только предыдущие символы до «°» и затем переходит к следующему продукту.
Я попытался отладить, и переменная содержит правильное описание.
Конечно, есть ошибка, но я не понимаю, где находится.
У кого-нибудь была похожая проблема и она решена?
Как?
Спасибо
до свидания
Это мой код
$this->db->query("UPDATE " . DB_PREFIX . "product_description SET name = '" . $this->db->escape($description_it) . "' WHERE product_id = '" . (int)$product_id . "' AND language_id = '2'");
и это функция Opencart
public function escape($value) {
if ($this->link) {
return mysql_real_escape_string($value, $this->link);
}
}
обратные параметры:
строка mysqli_real_escape_string (mysqli $ link, строка $ escapestr)
вам нужно изменить строки:
mysql_real_escape_string($this->link, $value);
Других решений пока нет …