Php mysql\u real\u escape\u字符串和特殊字符
我正在OpenCart上开发一个从ERP导入数据的应用程序。 在某些项目描述中,有时使用字符“°”(度)。 有关标准软件的insert应用程序使用“mysql\u real\u escape\u string”并接受上面指定的字符。 在我的应用程序中,我使用相同的函数,但该函数只导入“°”前面的字符,然后转到下一个产品。 我尝试过调试,变量包含正确的描述。 当然有错误,但我不知道在哪里。 有没有人遇到过类似的问题并解决了? 怎么做 谢谢 再见 这是我的密码Php mysql\u real\u escape\u字符串和特殊字符,php,mysql,mysql-real-escape-string,Php,Mysql,Mysql Real Escape String,我正在OpenCart上开发一个从ERP导入数据的应用程序。 在某些项目描述中,有时使用字符“°”(度)。 有关标准软件的insert应用程序使用“mysql\u real\u escape\u string”并接受上面指定的字符。 在我的应用程序中,我使用相同的函数,但该函数只导入“°”前面的字符,然后转到下一个产品。 我尝试过调试,变量包含正确的描述。 当然有错误,但我不知道在哪里。 有没有人遇到过类似的问题并解决了? 怎么做 谢谢 再见 这是我的密码 $this->db->qu
$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\u real\u escape\u字符串(mysqli$link,字符串$escapestr)
您需要更改行:
mysql_real_escape_string($this->link, $value);
您使用的是哪个版本的OpenCart?您应该尝试
echo
sql字符串…然后使用mysql工具(如命令行或mysql WorkbenchHank you Logan Murphy)执行它。我用函数utf_encode()“$this->db->escape(utf8_encode($description_it))”解决了这个问题,因为我的文本文件是ASCII格式的。