将郁金香字符插入MySQL表

时间:2013-05-16 14:51:45

标签: php mysql pdo special-characters

如何将tulip symbol()插入表格列。

我正在使用PHP 5.3.x并使用PDO进行数据库操作,我尝试设置各种字符集,如utf8,utf8mb4但没有用。当我使用utf8时,它说“字符串值不正确......” 当使用utf8mb4时郁金香符号被替换为“?”。

我尝试了所有这些选项PHP PDO: charset, set names?

$sql = new PDO(MySQL::DRIVER . ":host=host;dbname=db;charset=utf8",
                            MYSQL_USER,
                            MYSQL_PASSWORD,
                            array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); // or utf8mb44
$sql->exec("set names utf8"); // or utf8mb44
$sql->exec("SET CHARACTER SET utf8"); // or utf8mb44

1 个答案:

答案 0 :(得分:0)

您发送的PHP文件需要将字符编码为UTF-8,当然数据库表必须是{Adder指出的utf8mb4

此外,您的数据库连接需要显式设置为utf8mb4 - 为什么不在连接到数据库时立即执行此操作?

$sql = new PDO(MySQL::DRIVER . ":host=host;dbname=db;charset=utf8mb4", ...

基本上,UTF-8 all the way through中给出的建议适用 - 只需在mySQL一侧用utf8替换utf8mb4