这个问题已经讨论过很多次了,和 lua-resty-mysql 无关,是 mysql 自己的 collation 导致的,你在所有的 connect 之后先执行一句 set names "utf-8"; 应该就好了,大概从 mysql 4.1 或者 5.0 以后开始有的这个问题,10年不止了。
这个 mysql 字符集的问题早年我研究了不少,后来结论就是完全不用它来解决问题是最好的办法,因为也完全解决不了。现在我采用的方法是建表的时候指定 latin1,然后所有的连接也全部用 latin1 ,完全不让 mysql 来处理字符集的问题。