该系统是一个访问MySQL数据库的PHP应用程序。第一个表是用标准的latin1编码创建的,并通过mysqli在PHP中填充,没有设置任何编码。PHP脚本和数据都在UTF-8中工作。更新的表将编码设置为utf8_bin,并在每个事务的前面发送SET CHARACTER SET utf8。如果我查看mysql数据库中较新的表(通过sql (如HeidiSQL) ),每个特殊字符都会正确显示。然而,在每
我正在重写我们的数据库类(基于PDO),并被卡住了。在PHP和MySQL中使用UTF-8时,我学到了如何同时使用SET NAMES utf8和SET CHARACTER SET utf8。在PDO中,我现在想使用PDO::MYSQL_ATTR_INIT_COMMAND参数,但它只支持一个查询。
SET CHARACTER SET utf8是必要的吗?