2014-09-22 3 views
1

Я работаю над OpenCart, чтобы сделать приложение для импорта данных из ERP. В некоторых описаниях предметов иногда используется символ «°» (градус). Применение вставки стандартного программного обеспечения под вопросом «mysql_real_escape_string» и принимает символ, указанный выше. В моем приложении я использую ту же функцию, но функция импортирует только предыдущие символы до «°», а затем переходит к следующему продукту. Я попытался отлаживать, и переменная содержит правый указатель. Certenly есть ошибка, но я не понимаю, где это. У кого-нибудь была аналогичная проблема и она была решена? Как?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); 
    } 
} 
+0

какую версию открытой корзины вы используете? –

+0

вы должны попробовать 'echo' sql string ... затем выполнить его с помощью инструмента mysql, например командной строки или workbench mysql. –

+0

Спасибо, Логан Мерфи. Я решил эту проблему с помощью функции utf_encode() «$ this-> db-> escape (utf8_encode ($ description_it))», потому что мои текстовые файлы находятся в ASCII. – Eugenio

ответ

1

реверсивные Params:

строка mysqli_real_escape_string (MySQLi $ ссылки, строка $ escapestr)

вам необходимо изменить строки:

mysql_real_escape_string($this->link, $value); 
Смежные вопросы