Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29

Почта с русскими буквами

18.09.2012, 23:48. Показов 3896. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте комрады, возникла небольшая проблема написал модуль для бронирования столиков посредством уведомлений по почте, и возникла проблема, отсылать отсылает ,но русский текст преобразуется в абракадабру (п╧я├я┐п╨п╣п╫ п╧) Как лечить? )
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php 
defined('_JEXEC') or die;
if($_POST['submit']) { 
        // $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и  substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично 
        $title = 'бронь'; 
        $mess =  substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000); 
        // $to - кому отправляем 
        $to = substr(htmlspecialchars(trim($_POST['email'])), 0, 50);; 
        // $from - от кого 
        $from=123123@mail.ru'; 
        // функция, которая отправляет наше письмо. 
        
        mail($to, $title, $mess, 'From:'.$from); 
        echo 'Спасибо! В ближайшее время с вами свяжутся для подтверждения бронирования.'; 
} 
?> 
<form action="" method=post> 
<div class="image-booking">*</div>
<div class="title-reservation" align="center" ><font size="4">Бронирование столиков Online: </font> </div><br /><br />
                
              <div align="center"> 
              <div class="zt-field"><label><font size="3">Email:</font></label><br /> 
              <input type="text" name="email" size="40"><br /> </div> 
              <div class="zt-field"><label><font size="3">
              Укажите пожалуйста Ф.И.О, телефон для связи и время на которое вы хотите забронировать столик:</font> </label><br /> 
              <textarea name="mess" rows="10" cols="40"></textarea> </div> 
              <br /> 
             <div class="zt-check"> <input class="button" align="left" type="submit" value="Отправить" name="submit"></div> </div> 
</form>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2012, 23:48
Ответы с готовыми решениями:

Логин с русскими буквами
Не могу построить регулярку для проверки логина, в котором допускаются кириллические символы. помогите плиз

Отображение get русскими буквами.
http://my-site.org.ua/index.php?name=буквы &lt;?php $showw = $_GET; echo $showw; ?&gt; Выводит: Р±СѓРєРІС‹

Месяц русскими буквами в дате из БД
Как в эту функцию подставить дату из БД? $qNews = mysql_query(&quot;SELECT * FROM news&quot;, $db); $sNews = mysql_fetch_array($qNews); ...

20
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
19.09.2012, 01:05
поменяй кодировку файла на utf-8.
И вабще, вопрос к опытным товарищам. - Я использую стандартную ф-ю mail для отправки писем, никогда проблем с кодировкой не было. Но в сети видел кучу классов и/или ф-ий, котрые правильно отсылают письма, борятся с крякозябами.
Скажите, зачем стока мучений, если ф-я mail работает нормально и что надо сделать чтобы крякозябы появились?
0
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29
19.09.2012, 08:57  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
поменяй кодировку файла на utf-8.
И вабще, вопрос к опытным товарищам. - Я использую стандартную ф-ю mail для отправки писем, никогда проблем с кодировкой не было. Но в сети видел кучу классов и/или ф-ий, котрые правильно отсылают письма, борятся с крякозябами.
Скажите, зачем стока мучений, если ф-я mail работает нормально и что надо сделать чтобы крякозябы появились?
к сожалению файл уже в UTF-8 без BOM , и это ни к чему не приводит
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 09:34
liner70,
PHP
1
2
3
4
5
6
7
$заголовки = 'Content-type: text/html; charset=utf-8'; #кодировка, если не нужен html - заменяем на text/plain
$заголовки .= 'From....';
if(!mail('кому','тема','текст',$заголовки))
   echo 'Произошла ошибка при отправке сообщения';
else {
....
}
Love_and_Peace, для удобства.
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
19.09.2012, 11:28
Цитата Сообщение от KOPOJI Посмотреть сообщение
для удобства.
для удобства чего? Разве прописывать одну встроенную ф-ю неудобней написания целого класса?
И как же разговоры о том, что ф-я mail не совсем хороша и с ней бывают частые проблемы?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 12:11
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
для удобства чего?
а в чем тогда вообще использование ООП подхода удобнее процедурного? Ведь чем писать к примеру обертку для БД можно также прописать несколько строчек и подключать его везде.
0
5 / 5 / 0
Регистрация: 03.03.2011
Сообщений: 39
19.09.2012, 13:20
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
для удобства чего? Разве прописывать одну встроенную ф-ю неудобней написания целого класса?
И как же разговоры о том, что ф-я mail не совсем хороша и с ней бывают частые проблемы?
нет, не удобней, попробуйте сначала отправить более менее сложное составное письмо просто переписывая функцию mail =)

для отправки text/plain, да её хватает, а если вам нужно отправить сложное составное письмо с картинками встроенными в текст, с вложениями, с HTML и кучей персонализированных данных, отослать его трем сотням адресатов и для каждого ещё отдельно включить "Здраствуй, %username%!", а у всех разные клиенты (MS Outlook/TheBat!/Thunderbird/GMail/Hotmail/Yandex/Mail.ru/Rambler и т.д.) а вам нужно быть уверенным что ваше письмо везде читается и выглядит на 5+, нигде не поломалось и все вложения и картинки на месте?

вот в ситуациях типа этой и бывают проблемы с функцией mail()...
1
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29
19.09.2012, 15:23  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
liner70,
PHP
1
2
3
4
5
6
7
$заголовки = 'Content-type: text/html; charset=utf-8'; #кодировка, если не нужен html - заменяем на text/plain
$заголовки .= 'From....';
if(!mail('кому','тема','текст',$заголовки))
   echo 'Произошла ошибка при отправке сообщения';
else {
....
}
Love_and_Peace, для удобства.
спасибо, только когда добавляю переменную типа ваших заголовков вот сюда
PHP
1
mail($to, $title, $mess,'From:'.$from);
он вообще ничего не шлет :с куда конкретно его нужно поставить?)
0
2 / 2 / 1
Регистрация: 07.06.2012
Сообщений: 39
19.09.2012, 15:39
используй PHPmailer, это удобнее.
смотри здес
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 15:47
Не
Цитата Сообщение от liner70 Посмотреть сообщение
'From:'.$from
а просто переменную подставляешь
1
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29
19.09.2012, 16:08  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Не а просто переменную подставляешь
спасибо ,только вместо кракозябр теперь другие вылезают ������ хДД

хостинг на utf8 так как cp1251 он не жрет)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 16:16
кто не жрет windows-1251?
0
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29
19.09.2012, 16:45  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
кто не жрет windows-1251?
сайт о.о и не ср1251, а ANSI,бес попутал) пытаюсь на него залить тот же скрипт в кодировке ANSI получаю кракозябры) я понимаю что промах где то рядом но не понимаю в чем х.х
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 17:02
а зачем заливать скрипт в ANSI если все в UTF-8? Конвертировать нельзя что ли?
0
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29
19.09.2012, 17:05  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
а зачем заливать скрипт в ANSI если все в UTF-8? Конвертировать нельзя что ли?
да то я просто к слову, собсно так я и узнал что хостинг на utf8 ибо у меня нет панели управления от хостинга, но это длинная страшная и не интересная история, интереснее что со всем этим теперь делать))
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 17:46
Не бывает хостинг на кодировке бывает прописано в настройках кодировка, но это легко изменить при желании через htaccess. Хотя я не советую
0
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29
19.09.2012, 19:43  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Не бывает хостинг на кодировке бывает прописано в настройках кодировка, но это легко изменить при желании через htaccess. Хотя я не советую
это да известная истина) а что с письмами делать xD после внедрения той переменной уже другие кракозябры приходят) помогите великие гуру) в долгу не останусь)

Добавлено через 1 час 42 минуты
проблему решил методом тыка)) но очень помогла мысль о переменной, я просто нашел другой вариант в стандартной документации,
PHP
1
2
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf8' . "\r\n";
ну и конечно дописал в мейле эту переменную в конец всем большое спасибо за помощь)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 20:06
Цитата Сообщение от liner70 Посмотреть сообщение
я просто нашел другой вариант в стандартной документации
а я про что тогда говорил?

Добавлено через 43 секунды
я только забыл переносы написать
1
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 29
19.09.2012, 20:07  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
а я про что тогда говорил?

Добавлено через 43 секунды
я только забыл переносы написать
по-моему не так было о.о или я дурак, что скорее всего) спасибо за помощь
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
19.09.2012, 20:07
http://translate.google.com/#en/ru/headers

Добавлено через 31 секунду
я просто по-русски переменную написал, думал понятнее будет..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.09.2012, 20:07
Помогаю со студенческими работами здесь

Сортировка поля с русскими буквами в массиве
&lt;?php function cmp($a, $b) { return strcmp($a, $b); } usort($products,&quot;cmp&quot;); сортировка поля...

Не получается отправить письмо с русскими буквами
Добрый день, есть php файл с функцией отправки письма. Кодировка UTF-8. Не получается отправить русский текст в сообщении. Вместо...

Неверная кодировка для категорий с русскими буквами
Не пойму что происходит. В веб-пхп языках новичок , поэтому не могу разобраться с сайтом. При добавлении категории на английском языке все...

Обратная связь: сообщения с русскими буквами приходят не всегда
все работает, но при отправке сообщения с русскими буквами оно приходит не всегда... а если заполнять все формы инглишом, доходит всегда....

Нужна помощь Oracle + php проблемма с русскими буквами
Здравствуйте, уважаемые проблемма в следующем при выполнении php скрипта, в котором добавляется запись в таблицу Oracle (или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru