将默认字符集更改为utf-8:mysql

将默认字符集更改为utf-8:mysql,mysql,Mysql,我正在开发一个应用程序,我正在使用MySQL数据库。数据库包含某些无法编码到客户端的字符&我发现这些值为null。 与此类似,包含特殊字符的字符串在客户端表示为null 我发现db的默认字符集是latin1,我将其更改为utf-8,包括所有表和这些表的各个列。在我的pdo_构造中,我也提到了字符集是utf-8 $db = new PDO('mysql:dbname=$dbname;host=$dbhost;charset=utf8',$dbname,$dbhost); 我还将响应头配置为使用u

我正在开发一个应用程序,我正在使用MySQL数据库。数据库包含某些无法编码到客户端的字符&我发现这些值为null。 与此类似,包含特殊字符的字符串在客户端表示为null

我发现db的默认字符集是latin1,我将其更改为utf-8,包括所有表和这些表的各个列。在我的pdo_构造中,我也提到了字符集是utf-8

$db = new PDO('mysql:dbname=$dbname;host=$dbhost;charset=utf8',$dbname,$dbhost);
我还将响应头配置为使用utf-8字符集。但是字符仍然没有编码,我仍然得到空字符串,以防出现特殊字符

我试图通过设置默认字符集来更改my.ini文件的配置,它在PDO构造时给了我连接文件中的错误


这件事对我来说很紧急!有人能帮忙吗?

如果您没有使用新的utf8设置使用转储还原数据库,则在进行更改之前数据库中的数据仍将为1。新插入的数据将采用utf8格式。