如果数据在"Portuguese"
中,如何使用zend db select来获取数据?
“Amapá - AP”将此文本存储在数据库中。 “á”正在制造问题。
我正在使用查询:
SELECT * FROM tablename WHERE state_name LIKE 'Amapá - AP'
它在数据库中正常运行但是使用zend db select创建了创建问题 有人可以提出解决方案吗?
答案 0 :(得分:1)
每当你需要使用Zend_Db处理特殊字符时,你应该设置charset类型" utf8"。要设置charset类型utf8,请在配置文件中添加以下属性:
<强> resources.db.params.charset = UTF8 强>
现在一切都会正常。
答案 1 :(得分:0)
因为您必须将params绑定到查询
您的查询应该是
$query = $mysqli->prepare("SELECT * FROM tablename WHERE state_name LIKE ?");
$searchFor = "Amapá - AP";
/* or
$searchFor = "%Amapá - AP%";
$searchFor = "%Amapá - AP";
*/
$query->bind_param("s",$searchFor);
有关使用 bind_params find here
的详细信息和示例