我有以下问题: 我给了下面的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。
我知道这听起来像是Collate问题,但我没有问题使用PDO INSERT重音或包含重音的返回问题(SELECT *返回值没有问题的Saída)。
有什么建议吗?我查看了整个互联网,只发现有关展示问题或不完整插入的问题,但没有查询。
提前致谢!