Я априори надеюсь, что никто не делает страницу на сервере и клиенте в разных кодировках...
1. Перекодируйте все страницы в utf-8, так как данная кодировка мультиязычна и с ней у Вас в будущем не возникнет проблем.
2. Если Вы передаёте данные в jQuery Ajax методом GET, возможно у Вас возникла проблема с передачей текста (данных) в кириллице (на русском языке). Почему так? Так как IE, например, передаёт данные не в utf-8. Используем encodeURIComponent
$.ajax({
dataType: 'html',
type: "GET",
url: "ajax.php",
data: 'query='+encodeURIComponent('Русский текст'),
success: function(data){
alert(data)
}
});
И русский текст передаётся нормально, а, например, не в знаках вопроса.
3. Для справки, правильно писать utf-8 (везде писать так!), а не utf8, windows-1251, а не windows1251 и тд. Из-за этого тоже могут быть проблемы. Например, в IE, так как он с трепетом относится в правильному написанию. До сих, до сих пор...
В случае с Ajax в PHP частью обработки данных
4. Не забывайте в заголовке прописывать, в какой кодировке Вы хотите принять данные. Пишется в самом начале документа.
// в начале страницы 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);
Если у Вас проблемы, то пишите в комментариях. Разберёмся)