utf8mb4 emoji 表情字符集mysql出错的另一种原因

其实,utf8mb4就像文档描写的那样,确实非常简单,就是在utf8基础上增加了点东西,兼容性是非常好的。但是我按网上教程怎么改,都无法解决问题。后来沉下心来,一步一步的跟踪调试,终于发现了问题。问题在于mysql的存储过程和函数上,如果是将字段存储从原来的UTF8改成UTF8MB4,那么这些存储过程和函数是需要重新执行一次的,否则它们还是按UTF8编码来处理数据。并且重新执行生成存储过程或函数的时候,必须改点东西,比如敲点空格进去,这样生成的新的存储过程或函数才能支持UTF8MB4。而关于这点,我觉得是mysql官方应该进行提醒的,害人走了不少弯路。

Leave a Reply