[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: что с кодировкой?
Shine
Добрый день, вот с чем обратилась: когда отправляю письмо, написанное русскими буквами - название темы приходит нормально, а в сообщении пустой лист; если отправляю на английском, то все впорядке; а вот если отправляю смешанный текст, то сам текст сообщения приходит только с английскими буквами, а вот название приходит по-разному:
1. если текст смешанный, но последняя буква русская - название приходит полностью;
2. если последняя буква английская - приходят только английские буквы.
Подскажите, пожалуйста, в чем проблема?
вот код:
Свернутый текст
 
<?
$subj= $_POST['subject'];
$subject = '=?utf-8?b?'. base64_encode($subj) . '?=';
$message = $_POST['message'];
$from = "mail@mail.ru";
if(substr(PHP_OS, 0, 3) == "WIN")
$n = "\r\n";
else
$n = "\n";

$headers = 'Content-type: text/plain; charset="utf-8" ' . $n;
$headers .= "From: <". $from .">" . $n;
if ((!$subject) || (!$message)) {
?>
<form action="send.php" method="post">
Тема сообщения* <input type="text" name="subject" value="<? echo $_POST['subj'] ?>" cols="40" maxlenght="100"><br><br>
Сообщение* : <br><textarea type="text" name="message" value="<? echo $_POST['message'] ?>" cols="40" rows="6"></textarea>
<
p>* - Звездочкой помечены поля обязательные для заполнения</p>
<
input type="submit" value="Отправить">    <input type="reset" value="Очистить"</form>
<
p><font color="yellow"> <h2>Для отправки сообщения заполните все поля</h2> </font> </p>
<? }

else {
$to = "mail@inbox.ru";
mail($to, $subject, $message, $headers);
echo "Ваше сообщение на тему \"$subj\" отправлено<BR>
<center><a href='index_portal_contact.php'>Отправить ещё</a></center>"
;
}
?>




Спустя 1 час, 44 минуты, 56 секунд (15.01.2010 - 17:50) inpost написал(а):
if ((!$subject) || (!$message)) {?>
<form action="send.php" method="post">Тема сообщения* <input type="text" name="subject" value="<? echo $_POST['subj'] ?>" cols="40" maxlenght="100"><br><br>Сообщение* : <br><textarea type="text" name="message" value="<? echo $_POST['message'] ?>" cols="40" rows="6"></textarea><p>* - Звездочкой помечены поля обязательные для заполнения</p><input type="submit" value="Отправить"> <input type="reset" value="Очистить"</form><p><font color="yellow"> <h2>Для отправки сообщения заполните все поля</h2> </font> </p>
<? }else {

Ухты, а так разве можно делать? Я всё это обычно в 'echo' помещал)))

А насчет кодировки, посмотри у Twin`а по ссылке, как отправлять сообщения.
Перед отправкой проверь, нормально ли отображается текст, пропиши кодировку страницы.

Спустя 2 часа, 46 минут, 2 секунды (15.01.2010 - 20:36) Shine написал(а):
Цитата
Ухты, а так разве можно делать? Я всё это обычно в 'echo' помещал)))

невозможное возможно smile.gif
Цитата
посмотри у Twin`а по ссылке, как отправлять сообщения.

так я на основе его описания и делала...только вот у него это работает, а у меня нет... ну что ж..буду пробовать делать как нибудь по-другому smile.gif....может пока думаю, кто-нибудь еще подскажет что делать smile.gif

Спустя 2 дня, 1 час, 41 минута, 28 секунд (17.01.2010 - 22:17) grigoriyi написал(а):
Цитата (Shine @ 15.01.2010 - 17:36)
Цитата
Ухты, а так разве можно делать? Я всё это обычно в 'echo' помещал)))

невозможное возможно smile.gif
Цитата
посмотри у Twin`а по ссылке, как отправлять сообщения.

так я на основе его описания и делала...только вот у него это работает, а у меня нет... ну что ж..буду пробовать делать как нибудь по-другому smile.gif....может пока думаю, кто-нибудь еще подскажет что делать smile.gif

это что недокументированная функция?


_______________
бесплатные прокси

Спустя 8 часов, 38 минут, 45 секунд (18.01.2010 - 06:56) anonymouse написал(а):
Цитата (inpost @ 15.01.2010 - 14:50)
Ухты, а так разве можно делать? Я всё это обычно в 'echo' помещал)))

1.
Можно еще так

echo <<<TEXT
<form action="send.php" method="post">Тема сообщения*
<input type="text" name="subject" value="
$var1" cols="40" maxlenght="100">
<br><br>
Сообщение* : <br><textarea type="text" name="message" cols="40" rows="6">
$var</textarea>
<p>* - Звездочкой помечены поля обязательные для заполнения</p>
<input type="submit" value="Отправить">
<input type="reset" value="Очистить"</form>
<p><font color="yellow">
<h2>Для отправки сообщения заполните все поля</h2>
</font> </p>

TEXT;


Замечание - После закрытия TEXT; после него не должно быть ни одного пробела или еще чего бы - сразу Enter.
2.

В <textarea> нету значения value="" , если ты хочешь вывести значения текстого поля - это делается как я показал выше в примере кода.

Спустя 8 часов, 48 минут, 53 секунды (18.01.2010 - 15:45) Shine написал(а):
anonymouse, спасибо, что сказал smile.gif...а то я зациклилась на кодировке и даже не посмотрела куда прописала вывод значения!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.