|
|
|
| Подскажите, пожалуйста, в чём моя ошибка?
Написал форму обратной связи, файл в кодировке utf-8
вот кусок обработчика формы
<?php
$to = "адрес на который отправляется сообщение";
$theme = "Сообщение от посетителяя site.com.ua";
$message = "".$_POST['text']."";
$headers = "Content-Type: text/plain; charset=utf-8\r\n";
$headers .= "From: ".$_POST['name']."<".$_POST['email'].">\r\n\r\n";
?>
|
проблема в том, что когда сообщение приходит по назначению, мне надо в браузере явно указать кодировку utf-8, тогда письмо нормально отображается.
если кодировку в браузере указать "авто определение", то письмо отображается Подписывайтесь РЅР° РЅ, т.е имя отправителя, тема и само сообщение.
Посмотрел на форуме, вроде всё правильно написал, но не хочет это работать. | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 13:59)
| | Ты так и делаешь?
Если да - то ой как зря ты не обрабатываешь данные и сразу вставляешь в сообщение.
Я отправляю письма так:
<?
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
$headers .= "От кого: \r\n";
$subject = "Тема сообщения";
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
$msg = "Тут текст сообщения";
mail($email, $subject, $msg, $headers);
?>
|
И все приходит в хорошей кодировке | |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 14:54)
| | попробовал сделать так , ни чего не получилось
<?php $to = "********";
$headers = "Content-type: text/html; charset=windows-1251\r\n";
$headers .= "From: ".$_POST['name']."<".$_POST['email'].">\r\n\r\n";
$subject = "Сообщение с site.com.ua";
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
$message = "".$_POST['text']."";
mail($to,$subject,$message,$headers);
?>
|
всё осталось по прежнему...
тема сообщения теперь выглядит пўп.п.п.я.п.п.п п. п.я. пїп.я.п.я.п я.п.п я.я.
само сообщение как и было проверка | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 16:29)
| | А ты случаем не под Денвером всё делаешь??? Т.к в денвере кодировка 1251. | |
|
|
|
|
|
|
|
для: VITtek
(25.05.2009 в 16:31)
| | нет, отдельно апач стоит, файлы пишу в дримвивере, кодировка у файлов при создании стоит utf8
форму проверял на реальном сервере | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 16:29)
| | А в какой кодировке живете вы и ваш браузер?)
> Т.к в денвере кодировка 1251
В моем скрипте тоже. Пропустил
<?php $to = "********";
$headers = "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: ".$_POST['name']."<".$_POST['email'].">\r\n\r\n";
$subject = "Сообщение с site.com.ua";
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
$message = $_POST['text'];
mail($to,$subject,$message,$headers);
?>
|
| |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 16:33)
| | "кирилица" - "автоопределение".
пробовал присылать письмо с gmail6 да и с других присылали письма - всё в норме | |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 16:33)
| | я поменял на utf8 результата не дало | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 16:37)
| | Ну, попробуй удалить строку
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
|
| |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 16:42)
| | всё, кроме слов на английском выглядит вот так проверка | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 16:46)
| | Попробуй добавить вот это в начале файла (вдруг поможет):
<? php
header('Content-Type: text/html; charset=utf-8');
?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 16:46)
| | Вы отправляете сообщения точно из кодировки utf-8?
Ты на utf8 или на utf-8 поменял? | |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 16:50)
| | имеется ввиду кодировка самого файла?
пробовал и на utf8 и на utf-8 менять | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 17:26)
| | $subject = '=?UTF-8?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
Так пробовали??? | |
|
|
|
|
|
|
|
для: VITtek
(25.05.2009 в 17:40)
| | пробовал ни чего не дало | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 17:26)
| | нет, имеется в виду здесь:
$to = "********";
$headers = "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: ".$_POST['name']."<".$_POST['email'].">\r\n\r\n";
$subject = "Сообщение с site.com.ua";
$message = $_POST['text'];
mail($to,$subject,$message,$headers);
|
| |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 17:56)
| | что то ни чего не получается
может не в коде причина, перевожу браузер в кодировку utf-8, почтовик весь отображается крокозяблами, а письмо наоборот нормально отображается | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 18:24)
| | Так у тебя значит браузер не в utf-8 работает, а значити пишешь ты из него не в utf-8, а в другом чем-то, скорее всего в windows-1251, раз уж не в utf-8
Хотя ты вроде пробовал код, который я выше для windows-1251 давал. Ведь пробовал? | |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 19:55)
| | но ведь сам файл у меня в utf8 | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 20:38)
| | Какой именно файл? | |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 21:16)
| | обработчик формы | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 21:27)
| | Ты форму русскими буквами обрабатываешь?
Скажи мне, в какой кодировке ты отправляешь сообщения, пишешь их
На странице, откуда производиться отправка сообщения, какая кодировка установлена (не файл сохранен, а кодировка в meta прописана)? | |
|
|
|
|
|
|
|
для: neadekvat
(25.05.2009 в 23:18)
| | <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 23:33)
| | И та страница, с которой вы смотрите сообщение, тоже имеет такую кодировку, а так же вы пробовали все, что тут написано, но ничего не помогло
Гильотина поможет | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.05.2009 в 21:27)
| |
$subject = 'Тема сообщения';
$subject = '=?utf-8?B?'.base64_encode($subject).'?=';
|
Больно на всё это смотреть... | |
|
|
|
|
|
|
|
для: Trianon
(26.05.2009 в 06:06)
| | не знаю что за фигня, но отправил на другой адрес(gmail) всё пришло нормально, скрипт при этом не менял, а на предыдущий адрес отправлял - приходит всякая фигня | |
|
|
|
|
автор: 23к44кы (26.05.2009 в 18:33) |
|
|
для: Slo_Nik
(26.05.2009 в 10:04)
| | это значит, что гугл исправляет)
[поправлено модератором] | |
|
|
|