1
我正在使用OpenCart创建一个从ERP导入数据的应用程序。 在一些项目的描述中有时使用字符“°”(度)。 有问题的标准软件的插入的应用使用“mysql_real_escape_string”,接受上述指定的字符。 在我的应用程序中,我使用相同的功能,但该功能仅导入“°”之前的前几个字符,然后转到下一个产品。 我试过调试,变量包含rightdescription。 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);
}
}
什么版本的开放式购物车您使用的是? – 2014-09-22 13:09:11
你应该尝试'echo'sql字符串...然后使用mysql工具(如命令行或mysql工作台)来执行它 – 2014-09-22 13:18:35
谢谢Logan Murphy。我用函数utf_encode()“$ this-> db-> escape(utf8_encode($ description_it))”解决了这个问题,因为我的文本文件是用ASCII编码的。 – Eugenio 2014-09-22 13:37:32