Sometime you would get database query results from wpdb with get_results in ????????.
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM tables");
header('Content-Type: application/json;charset=utf-8');
echo wp_json_encode($results);
Although, the encodings of the database, table and the column are all set to utf8, that would not help!
I’ve found a simple solution by setting wpdb character encoding before get_results.
global $wpdb;
$wpdb->set_charset($wpdb->dbh, 'utf8'); // add this line
....
$results = $wpdb->get_results("SELECT * FROM tables");
header('Content-Type: application/json;charset=utf-8');
echo wp_json_encode($results);
I hope this help.
Ref. https://wordpress.stackexchange.com/questions/301822/how-do-i-change-database-charset-when-using-wpdb
You must be logged in to post a comment.