Wordpress,在帖子查询之前“设置名称'utf'8'”

时间:2016-10-20 10:36:57

标签: php mysql wordpress encoding character-encoding

我遇到了与MySQL数据库相关的Wordpress迁移问题 我正面临一个字符集编码问题,因此在新托管中,带有重音的字母,如“à”,“è”显示为问号。

我从其他项目中知道,如果在查询之前我做了这个

SET NAMES 'utf8'

错误消失 我还在自定义的php页面中测试了它,试图获得帖子内容。

那么,有一种方法可以告诉wordpress在每个帖子查询之前执行此查询吗?!

2 个答案:

答案 0 :(得分:1)

好的,我刚解决了将数据库字符集从latin_swedisc_ci更改为utf_8_general_ci并编辑wp-config.php文件,将此行更改为
define('DB_CHARSET', 'utf8mb4');
 到
define('DB_CHARSET', 'utf8');

答案 1 :(得分:-1)

你可以在你的functions.php文件中尝试这样的东西:

add_filter('posts_fields', 'my_posts_fields');

function my_posts_fields( $fields, &$wp_query ) {
    $fields = "SET NAMES 'utf8'; " . $fields;
}

这将调整主查询的SELECT子句,使其成为SET NAMES utf-8而不是SELECT。 SELECT