| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > AJAX PHP EMAIL - кодировка ? |
| Автор: navodri 27.11.2007, 11:33 | ||
| Здравствуйте, уважаемые? Используя AJAX, столкнулся с проблемой в кодировке. в ПХП-скрипте прописал header("Content-Type: text/html; charset=\"windows-1251\""); . Это исправило отображение сообщений на странице. Но суть проблемы в отправке письма. Вместо текста в письмах цифры. Понятно, что проблема в UTF-8. Как получать письма в кодировке windows-1251? Пожалуйста, не отправляй в другие разделы сайта, а на моей примере покажите, что сделать:
|
| Автор: vasac 27.11.2007, 11:41 |
Пример исходного текста и цифр. Приведите ход своих мыслей. Мне это совершенно не понятно. Получать? А вы пишите сразу в том разделе в каком надо и не перенаправят. |
| Автор: navodri 27.11.2007, 12:30 |
| Пример файла отправки сообщения представлен выше. Сообщение приходит в виде: %u041A%u0456%u043B%u044C%u043A%u0456%u0441%u0442%u044C %u043B%u044E%u0434%u0435%u0439, Перекодировать не выходит. Делал и так и этак... Из скрипта видно, письма отправляются на почтовый адрес: [email protected] |
| Автор: ksnk 27.11.2007, 12:50 |
Навскидку - надо разобраться с кодировками
|
| Автор: navodri 27.11.2007, 13:12 |
| сорри, напортачил... iconv перекодирует из УТФ в Виндоус: iconv("UTF-8", "windows-1251","Тема письма, сообщении и .т.п"); но iconv всё-равно не работает. письмо отправляет юзер с моего сайта средствами АЯКСА на мой почтовый ящик: [email protected]. отправка идет на ура, но письмо приходит в виде: %u041A%u0456%u043B%u044C%u043A%u0456%u0441%u0442%u044C Я так понимаю, это связано с тем, що AJAX использует кодироку UTF-8. Почему немогу получить нормальный текст непонятно. iconv, я так понимаю, не фурычит. РЕБЯТА! Как мне это перекодировать: %u041A%u0456%u043B%u044C%u043A%u0456%u0441%u0442%u044C ? |
| Автор: vasac 27.11.2007, 15:13 |
| На клиентской стороне функцией escape() злоупотребляли? |
| Автор: ksnk 27.11.2007, 15:15 |
| Хм... http://ru2.php.net/manual/ru/function.rawurldecode.php#63873 |
| Автор: navodri 27.11.2007, 15:21 | ||
Функцией escape злоупотреблял и неоднократно. Это плохо?
Я понял, она предразует текст в символы типа %u0442%u044C . Можно как-нибудь ее обойти? Вроде обратных аналогов этой функции в ПХП нет. |
| Автор: ksnk 27.11.2007, 15:31 |
| navodri, Можно попробовать использовать encodeURIComponent на стороне JS, а в PHP, если, конечно, надо - urldecode. Так меньше писать приходится... Ссылки, значит, не читаем? |
| Автор: navodri 27.11.2007, 15:38 |
| 2ksnk Попробовал функцию utf8RawUrlDecode и получил: & # 1042 ; & # 1083 ; & # 1072 ; & # 1076 ; & # 1080 ; & # 1084 ; & # 1080 ; & # 1088 ; Как это всё расшифровать, привести в нормальный вид WINDOWS-кодировки? Странно то, что на этой форуме отображается всё нормально в виде: Владимир. У меня в почтовом ящике при выборе кодировки УТФ-8 всё-равно отображаются HEX-символы. |
| Автор: ksnk 27.11.2007, 16:27 |
| задумался... |
| Автор: navodri 27.11.2007, 16:55 | ||
Использование iconv не помогает:
|
| Автор: ksnk 27.11.2007, 17:08 | ||
А вот так?
Может лучше urldecode? P.S. Всю жизнь пользовался jsHttpRequest'ом и горя не знал :( Добавлено через 7 минут и 43 секунды Кстати, если в нем посмотреть - то можно найти значительно более привелекательные функции... |
| Автор: navodri 27.11.2007, 18:15 | ||
Отлично! ksnk, огромное спасибо! Всё заработало. Полный листинг выглядит так:
|