php - 从 php 和在 Mysql Workbench 中查询特殊字符的结果不同

标签 php mysql special-characters

首先我从 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"'); 

字段状态的不同之处在于它没有从“Expedié”中获取“é”……我该如何解决这个问题? 它向我展示了这个:“Expedié”

在我的 html->head 中,我放了这个:<meta charset="utf-8">但变化不大。

更新1

我如何获得 $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编码的。

使用 <meta charset="utf-8"> 指定 html 中的字符编码不会更改数据库连接的编码。上述解决方案的替代方法是告诉浏览器您正在发送带有 <meta charset="iso-8859-1"> 的 iso-8859-1 编码。 .

关于php - 从 php 和在 Mysql Workbench 中查询特殊字符的结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26014623/

相关文章:

mysql - 分布式爬虫和一致性

mysql - Asp.Net MVC - MySQL - 保存 Č 转换为 C,为什么?

C++无法将字符串转换为wstring

php - 打印时 IE 不重新发送 cookie

php - 未捕获的异常 'Google_IO_Exception' 消息为“HTTP 错误 : Unable to connect

php - 检查两列条件

mysql - 如何删除串联时的 NULL 结果

key - 当变量有句点时如何使用jq

php - 有没有人发现 REGEX "\b"在 MYSQL 中不起作用?

php - 组合两个查询时出现问题