如果数据是"葡萄牙语"?如何使用zend db select来获取数据?

时间:2014-10-30 11:04:36

标签: php mysql database zend-framework select

如果数据在"Portuguese"中,如何使用zend db select来获取数据? “Amapá - AP”将此文本存储在数据库中。 “á”正在制造问题。

我正在使用查询:

 SELECT * FROM tablename WHERE state_name LIKE 'Amapá - AP'

它在数据库中正常运行但是使用zend db select创建了创建问题 有人可以提出解决方案吗?

2 个答案:

答案 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

的详细信息和示例