数据库 database的编码为utf-8,表中字段的编码为utf8_general_ci 请求路由配置中 charset utf-8 在db:query后打log,显示返回的结果集中所有的中文全部为问号。
Hello! 2014-03-06 20:17 GMT-08:00 周维明: > 数据库 database的编码为utf-8,表中字段的编码为utf8_general_ci > 请求路由配置中 charset utf-8 > 在db:query后打log,显示返回的结果集中所有的中文全部为问号。 > lua-resty-mysql 默认并不会设置任何字符编码,一切都是遵照 MySQL 服务器的设置。注意,即使 MySQL 数据库和表的编码是 UTF-8,数据库连接上默认使用的编码却不一定是 UTF-8(是的,MySQL 的多级编码设置很纠结)。你可以尝试先执行 MySQL 查询 SET NAMES utf8 这样当前连接使用编码就是 utf8 了。 当然,推荐的做法是在 MySQL 服务器一侧把连接上默认使用的字符编码置为 UTF-8,相关配置的细节请参见 MySQL 官方文档: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html Regards, -agentzh