Я пытаюсь вызвать функцию с jQuery и Ajax в Wordpress и вернуть HTML-код для добавления в часть сайта.
Это код, где я создаю код
$text = '
<tr>
<td class="row-label">
<div style="padding-top:0px;">' . $greek_text . '</div>
<div class="stock-text">Stock</div>
<div class="stock-test">Test</div>
</td>
</tr>';
$result['type'] = 'success';
$result['table'] = $text;
echo json_encode($result);
die();
$greek_text
- это имя атрибута woocommerce, которое я получаю непосредственно из базы данных.
И это часть jQuery
jQuery.ajax({
type : "post",
dataType : "json",
url : myAjax.ajaxurl,
data : {action: "print__table", post_id : post_id, nonce: nonce},
success: function(response) {
if(response.type == "success") {
console.log(response.table);
}
else {
console.log('something goes really wrong');
}
},
error: function(response) {
console.log(response);
}
});
Текст $greek_test
возвращается как %ce%ba%cf%8c%ce%ba%ce%ba%ce%b9%ce%bd%ce%bf
вместо κόκκινο
я пробовал:
sanitize_title
mb_convert_encoding
до UTF-8 и ISO 8859-7 esc_attr
esc_html
Возвращение admin-ajax.php
имеет заголовок content-type: text/html; charset=UTF-8
Однако, он по-прежнему не возвращается правильно