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

Проблемы с кодировкой в 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);
Просмотров: 80

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Технологии WEB

CMS

Расширения

Сервисы