Проблемы с кодировкой в jQuery Ajax и PHP

Многие разработчики сайтов при работе могли наблюдать Проблемы с кодировкой в jQuery Ajax и PHP. Разберем несколько правил, которые помогут вам использовать верную кодировку.

1. Лучше использовать кодировку UTF-8, она мультиязычная и с ней не возникнет проблем при дальнейшем развитии сайта. Все файлы должны быть в этой кодировке и данные в базе тоже.

2. При передаче данных через jQuery Ajax методом GET — могла тоже сломаться кодировка в некоторых браузерах, так как они не все используют UTF-8. Чтобы избежать проблемы при передаче русского текста методом GET — нужно пользоваться функцию encodeURIComponent(). Таким образом русские буквы будут передаваться корректно.

$.ajax({
    dataType: 'html',
    type: "GET",
    url:  "ajax.php",
    data: 'query='+encodeURIComponent('Русский текст'),
    success: function(data){
        alert(data)
    }
}); 

3. Небольшое уточнение, правильно кодировку писать так: utf-8 а не utf8, также и windows-1251 а не windows1251.

4. На стороне PHP файла в самом верху нужно объявить, в какой кодировке мы принимаем данные для обработки.

// в начале страницы php
header('Content-Type: text/plain; charset=utf-8');
// вручную перекодируем полученные данные
$name = iconv('UTF8','CP1251',$_GET['name']);

5. При записи в базу информации можно также сказать серверу, в какой кодировке должны быть записываемые данные.

mysql_query("SET character_set_results = 'utf-8', character_set_client = 'utf-8', character_set_connection = 'utf-8', character_set_database = 'utf-8', character_set_server = 'utf-8'", $db);

Вывести на сайт количество участников группы Vkontakte используя jQuery

Как вывести на сайт количество участников группы Vkontakte без использование социальных виджетов? Не сложно!
Достаточно использовать API сервиса. Для этого на мне нужно использовать PHP язык, все обработает jQuery прямо в браузере.

Код состоит из двух частей:
1. запрос jQuery ajax, в котором передаются параметры id группы, кол-во подписчиков которой хотим получить.
2. элемент HTML на странице с уникальным id.

Код jQuery:

jQuery(function($){
    $.ajax({
        url: 'http://api.vk.com/method/groups.getById?gid=77777777777&fields=members_count', // вместо 77777777777указываем свой ID 
        dataType: "jsonp", // тип получаемых данных
        success:function(e){ 
            $('#vkontakte_count').html(e.response[0].members_count) // выводим получаемый результат
        }  
    }); 
});

Код HTML:

<!-- здесь будет отображаться количество подписчиков -->
<span id="vkontakte_count"></span>

Получить другие сведения о группе

Можно получить кроме кол-ва подписчиков группы еще некоторую информацию осообществе.
Для этого необходимо в параметре запроса fields указать такие значения:

city — ID города сообщества (который был указан в настройках). Если город не указывали — ответом придет 0
country — ID страны сообщества
description — Описание сообщества
counters — Вернет общее количество фото в альбомах (photos), кол-во альбомов (albums), кол-во аудиозаписей (audios), кол-во видеозаписей (videos), кол-во тем (topics), кол-во документов (docs)

Параметры в запросе можно указать через запятую.


Fatal error: Call to undefined function twentyseventeen_get_svg() in /home/mijirov/web-factory.org/www/wp-content/themes/factory_new/index.php on line 50