查询的特殊字符
问题描述:
起初我从MySQL工作台这个简单的查询:查询的特殊字符
UPDATE PRODUIT
SET statut = "Expedié"
WHERE num_ref like "14T500924001"
,并将其保存为准确领域statut相同的值。 后来我把这个查询在我的PHP文件中像这样:
$bdd->query('UPDATE PRODUIT SET statut = "Expedié" WHERE num_ref like "14T500924001"');
的差异及其对现场statut它没有考虑在“E”,从“Expedié” ......我怎么能解决这个问题? 它显示了我:“Expedié”
在我的html->头,我把这个:<meta charset="utf-8">
但没有改变很多。
UPDATE1
我如何获得$ BDD:
function ConnexionBDD(){
try{
$bdd = new PDO('mysql:host=127.0.0.1:3306;dbname=NumeroSerie', 'root');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (Exception $e){
die('Erreur : '.$e->getMessage());
}
catch (PDOException $pe)
{
die ("I cannot connect to the database." . $pe->getMessage());
}
return $bdd;
};
答
要设置你的数据库连接使用utf8编码,使用
$bdd = new PDO('mysql:host=127.0.0.1:3306;dbname=NumeroSerie;charset=utf8', 'root');
另外,您需要确保您的php源文件也使用utf8编码。
在您的html中指定字符编码<meta charset="utf-8">
不会更改数据库连接的编码。上述解决方案的替代方法是告诉浏览器您使用<meta charset="iso-8859-1">
发送iso-8859-1编码。
+0
感谢队友的解释。 – 2014-09-24 10:49:12
答
试试这个:
$bdd = new PDO('mysql:host=127.0.0.1:3306;dbname=NumeroSerie;charset=utf8', 'root');
如何获得'$ bdd'?问题似乎在于数据库连接中设置了错误的编码。 – andy 2014-09-24 10:33:46
@andy:我更新了我的问题。 – 2014-09-24 10:37:01
您是否尝试过使用如下所示的html特殊字符:'&eacute;'来自:http://www.utexas.edu/learn/html/spchar.html – SuperDJ 2014-09-24 10:41:30