我有一些表(让我们把它命名为T1)已经将它们的字符集设置为utf8_polish_ci(我想要对它进行排序),当我没有设置character_set_result时,结果很好,但我还有一个表(让我们看看)将其命名为T2),其中包含一些由vanilla utf-8输入的行,但也有utf8_polish_ci排序规则。
有趣的是,当我通过php脚本从数据库中的现有表格输入数据时,表格中的数据在MySQL工作台中很好,但是当我在网站上查看它们时它们很糟糕,导致utf8字符变得疯狂。当我通过表单输入数据时,PHP脚本数据在mysql工作台和现场都很好。
我通过在任何声明之前放置SET character_set_results = 'UTF8';
来解决这个问题。然后T2很好,但来自T1的数据很糟糕。所以它改变了我的问题。