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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: кодировка письма

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
rayeagle
Отправлено: 30 Августа, 2013 - 11:52:04
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




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

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

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

Т.е. то, что прописано в файле PHP приходит в нормальной кодировке. Файл в кодировке UTF-8. А то, что я беру из переменных, то не совпадает по кодировке. Чего-то у меня башка не варит как это поправить.
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2013 - 12:28:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




rayeagle пишет:
есть сайт (писал не я) в кодировке win-1251

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

Данные в форме отправляются в той кодировке, в которой эта форма была открыта.


-----
PostgreSQL DBA
 
 Top
rayeagle
Отправлено: 30 Августа, 2013 - 15:43:39
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Мелкий пишет:
Данные в форме отправляются в той кодировке, в которой эта форма была открыта.


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

<?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);
?>
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2013 - 15:49:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




В своём текстовом редакторе меняете кодировку файла. Зависит, понятное дело, от редактора.


-----
PostgreSQL DBA
 
 Top
rayeagle
Отправлено: 30 Августа, 2013 - 15:57:38
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




уточнение: файл PHP в кодировке UTF-8. Все данные переменной $message передаются нормально, кроме данных переменных $f1 и $f2. Они вставляются внутрь строки $message (см. код выше). В итоге приходит письмо в виде (см. первый пост).
 
 Top
Мелкий Супермодератор
Отправлено: 30 Августа, 2013 - 16:07:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Я и с первого раза понял, что он в UTF8. Вопрос - почему и зачем? Не разводите зоопарк кодировок там, где оный зоопарк уже существует и без вас.


-----
PostgreSQL DBA
 
 Top
rayeagle
Отправлено: 30 Августа, 2013 - 16:14:05
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Мелкий пишет:
Я и с первого раза понял, что он в UTF8. Вопрос - почему и зачем? Не разводите зоопарк кодировок там, где оный зоопарк уже существует и без вас.

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



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




rayeagle пишет:
я делаю файл PHP в кодировке Win, то вообще всё приходит ромбиками

А тут кодировку правите ?
rayeagle пишет:
$header.="Content-type: text/plain; charset=\"utf-8\"";
 
 Top
rayeagle
Отправлено: 30 Августа, 2013 - 17:48:21
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




armancho7777777 пишет:
rayeagle пишет:
я делаю файл PHP в кодировке Win, то вообще всё приходит ромбиками

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

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

А да, забыл сказать, что письмо приходит на Mail.ru Может у них какие-то хитрости? Типа письмо обязательно должно быть в UTF-8 ?
 
 Top
armancho7777777 Супермодератор
Отправлено: 30 Августа, 2013 - 17:49:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




rayeagle пишет:
win-1251

Нету такой кодировки.
windows-1251
 
 Top
rayeagle
Отправлено: 30 Августа, 2013 - 17:54:56
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




armancho7777777 пишет:
rayeagle пишет:
win-1251

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

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



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Не за что.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB