2014-09-24 142 views
1

起初我从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;  
}; 
+0

如何获得'$ bdd'?问题似乎在于数据库连接中设置了错误的编码。 – andy 2014-09-24 10:33:46

+0

@andy:我更新了我的问题。 – 2014-09-24 10:37:01

+0

您是否尝试过使用如下所示的html特殊字符:'&eacute;'来自:http://www.utexas.edu/learn/html/spchar.html – SuperDJ 2014-09-24 10:41:30

回答

2

要设置你的数据库连接使用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

0

试试这个:

$bdd = new PDO('mysql:host=127.0.0.1:3306;dbname=NumeroSerie;charset=utf8', 'root');