将prestashop数据库从utf8切换到utf8mb4以获取表情符号的危险?

时间:2018-03-20 11:12:05

标签: mysql sql utf-8 prestashop utf8mb4

随着表情符号在Google搜索中的显示,我希望通过修饰一些meta_title来进行自己的测试,看看它是否会对我们的网站产生积极的影响。

不幸的是,在使用特殊字符保存我的meta_title更改后,没有得到任何错误消息,但prestashop和数据库上的字段现在都是空的。

并且有充分的理由,数据库中的编码使用utf8而不是utf8mb4。

所以我修改了列的编码以及我想要访问特殊字符的表,但它们在" ???"之后被转换。

似乎我必须更改数据库本身的编码,这就是我的问题:

您知道将prestashop数据库从utf8切换到utf8mb4是否有任何禁忌症?

我担心数据库中某处可能会丢失数据。

我对有关该主题的所有信息感兴趣。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

我已经通过迁移,它没有改变任何类型的字段或任何类型的字符(它是一个Wordpress,有表情符号),它只是一个字符集扩展我猜。

答案 1 :(得分:0)

如果您使用的是MySQL 5.5或5.6且VARCHAR(255)(或任何> 191),请参阅http://mysql.rjweb.org/doc.php/limits#767_limit_in_innodb_indexes

您有??? - 有关需要更改的多项内容,请参阅此内容:Trouble with UTF-8 characters; what I see is not what I stored(搜索"问号"。)

如果你从数据库中得到问号,那么数据就会丢失 - 当试图将一个4字节的表情符号插入到3字节的CHARACTER SET utf8时,它就会丢失。