X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Кодировка ResponseText для Ajax, неверная кодировка
toorr2p
toorr2p
Topic Starter сообщение 5.4.2010, 19:31; Ответить: toorr2p
Сообщение #1


Всем привет!

Помогите победить кодировку в тексте ответа.
Все как обычно для Ajax - скрипту посылаються данные и принимаеться ответ, и проблема именно с ответом, т.к данные приходят в нормальной кодировке (utf-8), а вот в блок в котором выводиться ответ, выгружаються крякозяблики

п»ї
Спасибо Fds Fsdfsd Р·Р° РІР°С?Рµ сообщение

На указанный вами Email отправлена копия этого сообщения.


Помогите это вылечить :rolleyes: ниче не пойму, оба файла в utf-8.

это функция отправки Ajax (Mootools)

        function Request(str){
            var url = "/modules/mod_mail/mailer.php?"+str;
            new Ajax(url, {
                method: 'post',
                onRequest: function(){
                    $('mail').setStyles({display: 'none'});
                    $('on-request').setStyles({display: 'block'});
                },
                onSuccess: function(responseText){
                    $('on-request').setStyles({display: 'none'});
                    $('on-sucess').setStyles({display: 'block'}).setHTML('<h2>'+responseText+'</h2>');
                    (function(){
                        $('on-sucess').setStyles({display: 'none'})
                        wrapper.setStyles({height: 0, display: 'none'});
                        panel.setStyles({top: -baseheight});
                        $('mail').setStyles({display: 'block'});
                        Clear();
                    }).delay(6000);
                },
                onFailure: function(){
                    $('on-request').setStyles({background: 'none'}).setHTML('<h2>Ошибка передачи данных</h2><br/><p>Попробуйте отправить сообщение еще, или позже...</p>');
                    (function(){
                        wrapper.setStyles({height: 0, display: 'none'});
                        panel.setStyles({top: -baseheight});
                        $('on-request').setStyles({display: 'none'});
                        $('mail').setStyles({display: 'block'});
                        Clear();
                    }).delay(3000);
                },
                onComplete: function(){
/*                    (function(){
                        wrapper.setStyles({height: 0, display: 'none'});
                        panel.setStyles({top: -baseheight});
                        $('mail').setStyles({display: 'block'});
                        Clear();
                    }).delay(3000);*/
                }
            }).request();
    }


А это серверный скрипт который отправляет данные на почту

[php]<?php
header('Content-Type: text/plain; charset=utf-8');
if(isset($_GET['recipient'])){$recipient = $_GET['recipient']; if($recipient == ''){unset($recipient);}}
if(isset($_GET['subject'])){$subject = $_GET['subject']; if($subject == ''){unset($subject);}}
if(isset($_GET['surname'])){$surname = $_GET['surname']; if($surname == ''){unset($surname);}}
if(isset($_GET['midellname'])){$midellname = $_GET['midellname']; if($midellname == ''){unset($midellname);}}
if(isset($_GET['name'])){$name = $_GET['name']; if($name == ''){unset($name);} }
if(isset($_GET['email'])){$email = $_GET['email']; if($email == ''){unset($email);} }
if(isset($_GET['phone'])){$phone = $_GET['phone']; if($phone == ''){unset($phone);} }
if(isset($_GET['sendcopy'])){$sendcopy = $_GET['sendcopy']; if($sendcopy == ''){unset($sendcopy);} }
if(isset($_GET['comment'])){$comment = $_GET['comment']; if($comment == ''){unset($comment);} }

if(isset($subject) && isset($surname) && isset($midellname) && isset($name) && isset($email) && isset($phone) && isset($sendcopy) && isset($comment)){

//$recipient = "admin@server.com";
$from = trim(addSlashes($email));
$subject = trim(addSlashes($subject));
$surname = ucwords(trim(addSlashes($surname)));
$name = ucwords(trim(addSlashes($name)));
$midellname = ucwords(trim(addSlashes($midellname)));
$comment = trim($comment);


$headers = "From: $surname $name <$from>\r\n";
$headers .= "Reply-to:$from\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "To: nukk.ru <$recipient>\r\n";
$body = "Контактное лицо: \r\n".
"Фамилия: ".$surname."\r\n".
"Имя: ".$name."\r\n".
"Отчество: ".$midellname."\r\n".
"Email: ".$from."\r\n".
"Телефон: ".$phone."\r\n".
"Текст сообщения:\r\n".$comment;
$formsent = mail($recipient, $subject, $body, $headers);

if($sendcopy == 'true'){
$recipient = trim(addSlashes($email));
sleep(1);
$copysend = mail($recipient, $subject, $body, $headers);
}

if($formsent){$data = "Спасибо ".$name." ".$surname ." за ваше сообщение";}else{$data = "Ошибка отправки почтового сообщения";}
if($formsent){$data = "<h2>Спасибо ".$name." ".$surname ." за ваше сообщение</h2><p>На указанный вами Email отправлена копия этого сообщения.</p>";}else{$data = "Ошибка отправки почтового сообщения";}

echo $data;

}else{echo "Недостаточно данных";}
?>[/php]

Увидеть этот глюк можно здесь - Кнопка вверху "Обратная связь"

Спасибо.
P.S iconv() не работает на хостинге...
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 5.4.2010, 19:50; Ответить: ZiTosS
Сообщение #2


Вячеслав, основная страница в какой кодировке?
И файл с функцией отправки Ajax-запроса(mootools).
Наверное в этом соль, та же проблема была. Надо сделать перекодировку файлов.


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 5.4.2010, 20:05; Ответить: toorr2p
Сообщение #3


Это модуль для Joomla1.5 все файлы перекодировал с помощю вот этого зверька - Notepad++

Но нифига не помогло.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 5.4.2010, 21:22; Ответить: toorr2p
Сообщение #4


Проблема решена, спасибо ZiToss в который раз выручил!!!
Все дело было в кодировке файлов, и я неверно перекодировывал их с помощю Notepad++.

Нужно не перекодировывать в UTF-8 а "Преобразовывать в UTF-8".

В Notepad++ открываете файл > Кодировки > Преобразовать в UTF-8.

Спасибо!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 5.4.2010, 21:25; Ответить: ZiTosS
Сообщение #5


Вячеслав, всегда пожалуйста :rolleyes:
Тему закрываю.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыAzinomoney.com - гемблинг-партнерка с 65%RS для каждого
Гарантированный заработок на гемблинг-трафике
65 AzinoMoney 29162 Вчера, 19:10
автор: AzinoMoney
Горячая тема (нет новых ответов) Делаю полностью уникальный дизайн для сайтов!
46 AlexDIZ 93439 26.3.2024, 20:03
автор: AlexDIZ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1116 26.3.2024, 14:13
автор: knezevolk
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
52 arendator 34124 26.3.2024, 4:43
автор: arendator
Открытая тема (нет новых ответов) Покупаем рекламу на ваших площадка для 2х интернет сервисов
Покупаем статьи для фотохостинга и мониторинга сайтов.
1 AndrePro 995 25.3.2024, 13:46
автор: Wilkinson


 



RSS Текстовая версия Сейчас: 28.3.2024, 15:02
Дизайн