我在Wordpress迁移时遇到了一个问题,与MySQL数据库有关。
我正面临一个字符集编码问题,所以在新的主机中带有重音的字母,如"
我从其他项目中知道,如果在查询之前我做这个
SET NAMES 'utf8'
错误消失。
我还在一个自定义php页面中测试了它,试图获得一个帖子内容。
所以,有一种方法可以告诉wordpress在每个帖子查询之前做这个查询吗?!
好的,我只是通过将数据库字符集从latin_swedisc_ci更改为utf_8_general_ci
和编辑wp-config.php
文件来解决,将这一行从
更改define('DB_CHARSET', 'utf8mb4');
到define('DB_CHARSET', 'utf8');
您可以在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;选择