Исходный код PHP base64 не правильно декодирован в Javascript

Добрый день! Интересно, почему я не могу декодировать ответ base64 в javascript, используя atob или btoa или настраиваемые формулы, такие как $ .base64.decode ().

Это то, что у меня есть в php

$res = "Это тескт"; echo base64_decode($res); 

Это то, что у меня есть в jquery

 $.ajax({ type: "GET", url: "request.php", success: function(data){ $('#elementid').html($.base64.decode(data)); //or $('#elementid').html(atob(data)); // it gives the same result as the above one. 

На странице я вижу следующее

 ÐÑо ÑеÑÐºÑ 

Закодированные данные Base64 выглядят следующим образом

 0K3RgtC+INGC0LXRgdC60YI= 

Если я попытаюсь декодировать с помощью различных веб-инструментов с BASE64 на UTF-8, я вижу правильный результат, но не на моей странице, используя вышеуказанные функции. Пожалуйста, предложите.

ОБНОВЛЕНИЕ: @ логическая единица благодарит за предложение. Я забыл упомянуть, что итоговая страница index.php имеет следующее в заголовке

 <?php header('Content-Type: text/html; charset=utf-8'); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> ... </head> 

Related of "Исходный код PHP base64 не правильно декодирован в Javascript"

Я нашел ответ на этот вопрос. Кажется, что atob и btoa плохо обрабатывают кодировку UTF-8.

Он описан в https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding Solution 2 из раздела. Проблема «Unicode» работала хорошо для меня.

Решение № 2 – переписывание atob () и btoa () с использованием TypedArrays и UTF-8

Звучит как проблема кодирования символов на вашей странице.

Убедитесь, что в вашем HTML-заголовке указан правильный тип кодировки, указанный в метатеге.

http://www.w3.org/International/questions/qa-html-encoding-declarations