| |
|
|
| | Прошу помощи в следующем:
При пересылке писем на кирилице (русский и украинский языки), методом POST через php, на англоязычный виндовс письма приходят в закодированнов виде, приходится вручную разкодировать. Есть ли возможность автоматизации кодировки? | |
| |
|
|
| |
|
|
| |
для: jurko
(09.05.2007 в 18:42)
| | | Письма всегда ходят в закодированном виде.
Но в корректно оформленных письмах указана использованная кодовая страница.
От метода обращения к http-серверу тут ничего не зависит. Просто нужно, применяя функцию mail(), правильно указывать заголовки. В частности Content-Type и Content-Transfer-Encoding. | |
| |
|
|
| |
|
|
| |
для: Trianon
(09.05.2007 в 19:34)
| | | Наверно я неправильно поставил вопрос.
Дело в том что я учился програмированию у венгерской школе, потому незнаю всех названий по програмированию на русском языке.
Попробую еще раз:
Код который я написал работает нормально, письма приходят на Outlook Express без проблем. Только когда письма пишут на русском или украинском языках они приходят в форме закорлючек. приходится перекодировать, что предоставляет некоторые неудобства моим клиентам.
Вот код:
<?php
$body="Vezeteknev: ".
$_REQUEST["surname"]."\nNev: ".
$_REQUEST["name"]."\nVaros: ".
$_REQUEST["city"]."\nOrszag: ".
$_REQUEST["country"]."\nTelefon: ".
$_REQUEST["phone"]."\nEmail: ".
$_REQUEST["email"]."\n\nUzenet: \n".
$_REQUEST["text"];
$fejlec = "From: ".$_REQUEST["email"]." <".$_REQUEST["email"].">\n";
$sending = mail("webdesign@hhhhhh.hu","Email: - www.hhhh.net",$body,$fejlec);
if($sending==1){
$uzenet = "<b>Koszonjuk az uzenetet, igyekezni fogunk mihamarabb valaszolni!</b>";
}else{
$uzenet = "<b>Az uzenet kuldese sikertelen volt! Kerem probalja ujra! </b>";
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: jurko
(09.05.2007 в 20:29)
| | | А в какой кодировке написана страница с формой , с которой приходят с текстом?
utf-8? windows-1251? Или еще какая-то?
В переменную $fejlec нужно поместить дополнительные поля - написать хотя бы заголовок типа:
$fejlec =
"From: ".$_REQUEST["email"]." <".$_REQUEST["email"].">\r\n".
"MIME-Version: 1.0\r\n".
"Content-Type: text/plain; charset=windows-1251\r\n".
"Content-Transfer-Encoding: 8bit";
|
Если кодировка именно такая.
Если кодировка страницы не допускает русских букв - всё хуже. Тогда нужно перекодитовать текст preg_replace-ом. Но в этом случае буквы эти выглядят не в виде закорючек, а в формате Ѓ прмерно таком. | |
| |
|
|
| |
|
|
| |
для: Trianon
(09.05.2007 в 20:50)
| | | Trianon
Огромнейшее СПАСИБО!
Вставил код и все прекрасно работает!!! :=))))) | |
| |
|
|