Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: кодировка письма
Форумы портала PHP.SU » » Кодировки и все смежное » кодировка письма

Страниц (1): [1]
 

1. rayeagle - 30 Августа, 2013 - 11:52:04 - перейти к сообщению
Добрый день!
Ситуация такая: есть сайт (писал не я) в кодировке win-1251. На страничке есть форма. Данные с нее передаются посредством POST. В PHP файлике переменные, переданные из формы вставляю в текст письма и отправляю (mail) его на ящик.

Письмо приходит в таком виде:

Название:"������ ������"
Описание: ��������

Т.е. то, что прописано в файле PHP приходит в нормальной кодировке. Файл в кодировке UTF-8. А то, что я беру из переменных, то не совпадает по кодировке. Чего-то у меня башка не варит как это поправить.
2. Мелкий - 30 Августа, 2013 - 12:28:32 - перейти к сообщению
rayeagle пишет:
есть сайт (писал не я) в кодировке win-1251

rayeagle пишет:
Файл в кодировке UTF-8.

Данные в форме отправляются в той кодировке, в которой эта форма была открыта.
3. rayeagle - 30 Августа, 2013 - 15:43:39 - перейти к сообщению
Мелкий пишет:
Данные в форме отправляются в той кодировке, в которой эта форма была открыта.


это я догадался. Как поменять кодировку. Вот у меня что делается:

<?php
$to = "mymail@mail.ru";

$f1 = $_REQUEST["f1"];
$f2 = $_REQUEST["f2"];

$message = "Название:".$f1." \r\n
Описание: ".$f2."\r\n";

$subject = "Заявка";
$header.="Content-type: text/plain; charset=\"utf-8\"";

mail($to, $subject, $message, $header);
?>
4. Мелкий - 30 Августа, 2013 - 15:49:49 - перейти к сообщению
В своём текстовом редакторе меняете кодировку файла. Зависит, понятное дело, от редактора.
5. rayeagle - 30 Августа, 2013 - 15:57:38 - перейти к сообщению
уточнение: файл PHP в кодировке UTF-8. Все данные переменной $message передаются нормально, кроме данных переменных $f1 и $f2. Они вставляются внутрь строки $message (см. код выше). В итоге приходит письмо в виде (см. первый пост).
6. Мелкий - 30 Августа, 2013 - 16:07:40 - перейти к сообщению
Я и с первого раза понял, что он в UTF8. Вопрос - почему и зачем? Не разводите зоопарк кодировок там, где оный зоопарк уже существует и без вас.
7. rayeagle - 30 Августа, 2013 - 16:14:05 - перейти к сообщению
Мелкий пишет:
Я и с первого раза понял, что он в UTF8. Вопрос - почему и зачем? Не разводите зоопарк кодировок там, где оный зоопарк уже существует и без вас.

так в том-то и дело, что если я делаю файл PHP в кодировке Win, то вообще всё приходит ромбиками Недовольство, огорчение
8. armancho7777777 - 30 Августа, 2013 - 17:34:59 - перейти к сообщению
rayeagle пишет:
я делаю файл PHP в кодировке Win, то вообще всё приходит ромбиками

А тут кодировку правите ?
rayeagle пишет:
$header.="Content-type: text/plain; charset=\"utf-8\"";
9. rayeagle - 30 Августа, 2013 - 17:48:21 - перейти к сообщению
armancho7777777 пишет:
rayeagle пишет:
я делаю файл PHP в кодировке Win, то вообще всё приходит ромбиками

А тут кодировку правите ?
rayeagle пишет:
$header.="Content-type: text/plain; charset=\"utf-8\"";

пробовал править на "win-1251", не помогает. Может не на это надо править?

А да, забыл сказать, что письмо приходит на Mail.ru Может у них какие-то хитрости? Типа письмо обязательно должно быть в UTF-8 ?
10. armancho7777777 - 30 Августа, 2013 - 17:49:53 - перейти к сообщению
rayeagle пишет:
win-1251

Нету такой кодировки.
windows-1251
11. rayeagle - 30 Августа, 2013 - 17:54:56 - перейти к сообщению
armancho7777777 пишет:
rayeagle пишет:
win-1251

Нету такой кодировки.
windows-1251

вот я дурень, сейчас проверю. Спасибо Улыбка
(Добавление)
заработало. Еще раз спасибо! Радость
12. armancho7777777 - 30 Августа, 2013 - 18:37:38 - перейти к сообщению
Не за что.

 

Powered by ExBB FM 1.0 RC1