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 :: пхп-скрипт отправляет письма кракозябрами. используется sendmail
сама пхп-страница в кодировке uft-8 (без BOM). ну и текст, который передаю(кириллические символы) соответственно тоже. в скрипте в нужных местах. в результате кодирую из uft-8 в koi8-r. принимаю аутлуком и наблюдаю кракозябры в тексте писма и в теме. адрес отправителя(или текст, который можно вместо него поставить) передается как и задумано русскими буквами.
отчего так происходит? ведь перекодирую все одними и теми же функциями... пробовал так же кодировать из utf-8 в windows-1251 и в другие кодировки. нужного результата так и не добился.
так же пробовал вот таким скриптом отправить письмо:
здесь дело получше обстоит. русскими буквами отображаются тема и адрес отправителя. текст письма опять кракозябрами.
подскажите где искать правильное решение - чтобы получить письмо с русским текстом полностью.
в архиве форума находил много подобных тем. но в них как то все разрешалось счастливо. я кажется использую те же самые подходы - и iconv, и .base64_encode, и прочее. но не помогает...
Uchkuma
Отправлено: 10 Сентября, 2010 - 08:25:05
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
Если у вас текст в utf-8, зачем тогда кодируете из windows в koi?
ну да. если он в utf-8, то лучше бы с ним вообще ничего не делать, а просто отправить. но даже в этом случае кракозябры приходят, поэтоту приходится шаманить подобным образом. так хоть тема письма русскими буквами написана...
Uchkuma
Отправлено: 10 Сентября, 2010 - 12:06:03
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
cyklop77, вы вообще поняли, что я вас спросил? Если вам надо перевести с немецкого, зачем вы берете англо-русский словарь?
Данная строка это кодирование текста письма, а не темы.
JustUserR
Отправлено: 10 Сентября, 2010 - 13:53:15
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
cyklop77 пишет:
Подскажите где искать правильное решение - чтобы получить письмо с русским текстом полностью
Средства интерфейса MIME позволяют проводить кодирования текста в любой кодовой таблице в специальный 7bit-ный вид для универсальной передачи его по тектовым протоколам - но при этом необходимо учитывать чтобы кодировка в которой трактуется внутренее представление строки с текстом и ее последующая передача была правильно Кроме того body-раздел в котором пересылается основной текств в e-mail-сообщении принииципильно отличается от RFC-заголовок с адреосм отправителя и темой - в частности он не обязан быть представлен в 7bit-ной форме и его кодовая таблица задается специальным заголовком Content-type Если вы хотите использовать механизм классического MIME-кодирования и для body-секции сообщения - то вы должны передавать ее в специальной 7bit-форме и передавать дополнительный RFC-заголовок Content-Transfer-Encoding для инкапсулированных данных этой секции
Более подробную информацию вы можете посмотреть здесь http://tools[dot]ietf[dot]org/html/rfc2045#page-8
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Shkur
Отправлено: 23 Декабря, 2010 - 12:26:18
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2010
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Shkur пишет:
imap_mime_header_decode()
Использование приведенной вами функции для осуществления решения оригинальной задачи не является корректным вариантом - поскольку представление информационный полей в кодовой таблице не соответствующей их оригинальному внутреннему хранению производится на клиентской стороне - для которых их выполнение не является возможным Кроме того реальной причиной обеспечения получения данных с трактованием в некорректной кодовой таблице связано с применением механихма кодирования - не совпадающего с ожидаемым управляющем кодом для данного информационного поля - что в данном случае может контролироваться поредством элементом RFC-заголовков таких как Content-Type и Conent-Transfer-Encoding
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.