Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Проблема отправки письма на русском через форму |

17.02.2009, 18:52
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Проблема отправки письма на русском через форму
Значит имеется вот такая форма:
Код:
<!-- TITLE: Отправка запроса -->
<script LANGUAGE="JavaScript">
<!--
function validate() {
var error = "";
var f = document.frm;
if (f.name.value == "") {
error += "Пожалуйста введите Ваше имя, отчество, чтобы мы смогли обращаться к Вам персонально.\n";
}
if(f.email.value.indexOf(".")<1 || f.email.value.indexOf("@") < 1) {
error += "Введите Ваш email.\n";
f.email.focus();
}
if (f.comments.value == "") {
error += "Задайте вопрос до 1000 символов.\n";
}
if (!error) return true;
else{
msg = "Извините! Произошла ошибка в отправке.\n\n" + error;
window.alert(msg);
return false;
}
}
function CommentsChange(){
var f = document.frm;
txtCount(f.comments,f.commentsleft,1000);
}
// -->
</script>
<p class=pagetitle>Обращение к администрации Украинского бизнес-портала</p>
<b>Поля, маркированные жирным шрифом обязательны</b>
<form name=frm method="POST" onSubmit="return validate();">
<input type=hidden name=page value="feedback">
<span class=err>##err_msg##</span>
<p>
<table border=0 cellspacing=0 cellpadding=0 width=415>
<tr><td align="right" valign="top"><b>Имя:</b> </td>
<td><input name=name value="##name##" size="30"></td></tr>
<tr><td> </td><td> Ваше полное имя.</td></tr>
<tr><td colspan=2> </td></tr>
<tr><td align="right" valign="top"><b>Email:</b> </td>
<td><input name=email value="##email##" size=30></td></tr>
<tr><td> </td><td> Email</td></tr>
<tr><td colspan=2> </td></tr>
<tr><td align="right" valign="top">Ваш сайт: </td>
<td><input name=url value="##url##" size=30></td></tr>
<tr><td> </td><td> Адрес сайта (выборочно)</td></tr>
<tr><td colspan=2> </td></tr>
<tr><td align="right" valign="top">Заинтересовало: </td>
<td><input name=foundus value="##foundus##" size=30></td></tr>
<tr><td> </td><td> Что представляет интерес для Вас на портале?</td></tr>
<tr><td colspan=2> </td></tr>
<tr><td align="right" valign="top"><b>Текст запроса:</b> </td>
<td><textarea wrap="virtual" name=comments rows=7 cols=40 onKeyDown="CommentsChange()" onKeyUp="CommentsChange()">##comments##</textarea>
</td></tr>
<tr><td> </td><td> Введите сообщение,
<input readonly type=text name=commentsleft size=3 maxlength=4 value="1000" tabindex=5000>
символов осталось</td></tr>
<tr><td colspan=2>
<!-- IF ##EN_IMG_VER## -->
<table border=0>
<tr bgcolor="#ffffff">
<td colspan=3 class=txt8>
Мера предосторожности: <br>
Введите символы на рисунке.
</td>
</tr>
<tr bgcolor="#ffffff">
<td><b>Проверочный код:</td>
<td colspan=2>
<table border=0>
<tr>
<td>
<input name="img_text" size=20>
</td>
<td>
<img src="index.php?page=feedback&mode=image">
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ENDIF -->
</td></tr>
<tr><td colspan=2 align=center><br />
<table width="100%">
<tr><td>
<center>
Отправка данной формы регламентирована <a href="index.php?page=extra&pg=terms">Условиями портала</a>
<p>
<center><input type=submit class=button value="Отправить"></a></center></td></tr></table>
</td></tr>
</table>
</form>
<script>
CommentsChange();
</script>
Ввожу текст на аглицком - все работает, на русском болт!
Советовали iconv использовать! Не знаю как и куда его вставить в пхп скрипт!
Последний раз редактировалось serg-php; 17.02.2009 в 18:55..
|
|
|

17.02.2009, 19:01
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме: 7452489
Репутация:
1359
|
|
бгг... надо в хидере письма правильно указать кодировку - соответствующую кодировке страницы.
зы как это сделать на пхп не знаю ...
PHP код:
<?php
$body = "<html>\n";
$body .= "<body style=\"font-family:Verdana, Verdana, Geneva, sans-serif; font-size:12px; color:#666666;\">\n";
$body = $message;
$body .= "</body>\n";
$body .= "</html>\n";
$headers = "From: My site<noreply@my_site.com>\r\n";
$headers .= "Reply-To: info@my_site.com\r\n";
$headers .= "Return-Path: info@my_site.com\r\n";
$headers .= "X-Mailer: Drupal\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
return mail($recipient, $subject, $message, $headers);
?>
$headers .= 'Content-type: text/html; charset=iso-8859-1' .
вот на эту строку смотрим внимательно.
Последний раз редактировалось geezer.code; 17.02.2009 в 19:08..
|
|
|

19.02.2009, 00:04
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
Спасибо! Сейчас действительно посмотрю, в какой оно кодировке действительно пишет!
Это в теле письма, при запуске на денвере:
PHP код:
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="windows-1251"
Последний раз редактировалось serg-php; 19.02.2009 в 00:07..
|
|
|

19.02.2009, 00:41
|
|
Познающий
Регистрация: 14.02.2009
Сообщений: 45
Провел на форуме: 96296
Репутация:
74
|
|
Вот именно... Советую скрипты, которые используют интернет (особенно Е-мейл) заливать на хостинг, либо на Apache Web Server.
|
|
|

21.02.2009, 12:25
|
|
Участник форума
Регистрация: 28.01.2008
Сообщений: 247
Провел на форуме: 205760
Репутация:
28
|
|
А в этом есть принципиальное оличие?
|
|
|

21.02.2009, 13:26
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме: 1487377
Репутация:
392
|
|
Отличия нету, на денвере эмулятор sendmail, сиди спокойно)
|
|
|

21.02.2009, 15:12
|
|
Участник форума
Регистрация: 15.05.2008
Сообщений: 166
Провел на форуме: 2591223
Репутация:
128
|
|
serg-php,денвер тебе не даст выпустить письмо за пределы твоего компа.Все письма он аккуратно складывает в отдельную папку 
|
|
|

21.02.2009, 15:30
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме: 1487377
Репутация:
392
|
|
Ну для работы скрипта не подойдет, а для проверки и отладки самое то
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|