Неправильная греческая кодировка символов при вызове Wordpress Ajax - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь вызвать функцию с 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

Однако, он по-прежнему не возвращается правильно

...