使用重音PDO进行查询的问题

时间:2015-01-07 13:50:36

标签: pdo diacritics collate

我有以下问题: 我给了下面的db和table:

CREATE DATABASE `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
CREATE TABLE IF NOT EXISTS `tabCCs` ( `Cod` int(10) NOT NULL UNIQUE, `Nome1` varchar(20)  NOT NULL,  PRIMARY KEY (`Cod`) ) ENGINE=InnoDB;

我制作了一个批处理文件(.sql)来加载内容:

INSERT INTO `tabCCs` (`Cod`, `Nome1`) VALUES (1,'Entrada'),(2,'Saída');

我通过phpmyadmin查了一下就可以了

对于我的WebService,我的PDO启动是:

 PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION
,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC

我也在PDO中从我的网站进行查询(SELECT *)并显示确定。

$stm = $this->pdo->prepare('SELECT * FROM tabCCs');
$stm->execute();

当我添加WHERE子句时,仅适用于$ value ='Entrada',但不适用于$ value ='Saída'。

$stm = $this->pdo->prepare('SELECT * FROM tabCCs WHERE Nome1 LIKE :value');
$stm->bindParam(':value', $value,PDO::PARAM_STR);
$stm->execute();

使用$ value ='Saída'返回EMPTY。

我知道这听起来像是Collat​​e问题,但我没有问题使用PDO INSERT重音或包含重音的返回问题(SELECT *返回值没有问题的Saída)。

有什么建议吗?我查看了整个互联网,只发现有关展示问题或不完整插入的问题,但没有查询。

提前致谢!

0 个答案:

没有答案