Wordpress - wpdb - > get_results - 编码错误

时间:2013-05-03 11:52:25

标签: php mysql database wordpress encoding

我在WP数据库中安装了一个Wordpress安装和一个名为c_schools的自定义表。在我的自定义模板页面中,我执行以下查询:

$schools = $wpdb->get_results("SELECT school_id, school_name FROM c_schools ORDER BY school_id");

然后将结果写为HTML列表。

学校名称包含捷克符号,例如ě,š,但未正确显示。

整个数据库(包括自定义表)的编码是utf8,整理是utf8_general_ci。

当我通过putty会话在终端的mysql应用程序中运行查询时,所有字符都显示正常。

页面的其余部分显示正常,包括菜单中页面的名称,其中也包含这些符号,并且(我相信)是从同一个数据库加载的。

通过firebug检查响应头时,我发现了以下内容类型:

Content-Type    text/html; charset=UTF-8

所以在服务器端的PHP脚本中似乎确实是错误,也许wpdb配置不正确?

我做错了什么?


我使用了this SO page上的建议,并验证了数据库,表格和列的编码都是utf8。


我在wp-config.php中找到了以下几行,看起来是正确的。

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

以下元标记出现在页面的头部。

<meta charset="UTF-8" />

0 个答案:

没有答案