Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: PHP, POP3 и война кодировок
 
 автор: kailDeSazerland   (27.10.2007 в 20:57)   письмо автору
 
 

Пишу оболочку для получения писем через протокол POP3. Но любая информация получаемая через сокет с сервера если она на русском, то получается какая то шифровка Юстас - центру, независимо от того в какой кодировке было отправлено. Как это преобразовать в нормальный русский текст?

   
 
 автор: coloboc66   (27.10.2007 в 22:18)   письмо автору
 
   для: kailDeSazerland   (27.10.2007 в 20:57)
 

А что такое оболочка? Не наволочка, случайно?...

   
 
 автор: cheops   (28.10.2007 в 09:54)   письмо автору
 
   для: kailDeSazerland   (27.10.2007 в 20:57)
 

Как выглядит шифровка? Русский текст по сетям передавать не может, он, как правило, кодируется либо при помощи base64.

   
 
 автор: kailDeSazerland   (29.10.2007 в 17:10)   письмо автору
 
   для: cheops   (28.10.2007 в 09:54)
 

Вот пример.
Текст сообщения выглядет так

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dkoi8-r">
<META content=3D"MSHTML 6.00.6000.16386" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>=EB=C1=CB =
=C4=C5=CC=C1?</FONT></DIV></BODY></HTML>

После тега face идет фраза "Как дела". Как её расшифровать?

   
 
 автор: kailDeSazerland   (29.10.2007 в 20:20)   письмо автору
 
   для: kailDeSazerland   (29.10.2007 в 17:10)
 

Неужели никто не может помочь в решении проблемы?

   
 
 автор: bars_A   (04.12.2007 в 10:45)   письмо автору
 
   для: kailDeSazerland   (29.10.2007 в 20:20)
 

+1
Помогите кто знает как в приличном виде это отобразить!!

   
 
 автор: Trianon (в гостях)   (04.12.2007 в 11:42)
 
   для: kailDeSazerland   (29.10.2007 в 20:20)
 

перед текстом сообщения следует заголовок.
В заголовке указана транспортная кодировка

   
 
 автор: bars_A   (04.12.2007 в 12:06)   письмо автору
 
   для: Trianon (в гостях)   (04.12.2007 в 11:42)
 

ну вот например:
Subject: =?koi8-r?B?8NLJ18XU?=
т.е. кодировка koi8?
когда вывод делаю таким образом:
convert_cyr_string($gPh['Subject'],'k','w')
вообще ничего не выводится :(

   
 
 автор: coloboc66   (04.12.2007 в 12:39)   письмо автору
 
   для: bars_A   (04.12.2007 в 12:06)
 

Чтобы не воевать с кодировками, думаю, нужно использовать универсальную кодировку - UTF-8.

   
 
 автор: Zirkon   (04.12.2007 в 12:44)   письмо автору
 
   для: bars_A   (04.12.2007 в 12:06)
 


<?php
echo iconv_mime_decode("Subject: =?koi8-r?B?8NLJ18XU?="0"koi8-r");
?>


Выводит: Subject: Привет

Все правильно? :)

   
 
 автор: bars_A   (04.12.2007 в 13:59)   письмо автору
 
   для: Zirkon   (04.12.2007 в 12:44)
 

Да, Да!!! Спасибо огромное! С заголовками получилось!
А вот тело письма как правильно отобразить?

getBody()

This is a multi-part message in MIME format.

------=_NextPart_000_0003_01C8365F.2BF52BE0
Content-Type: text/plain;
    charset="koi8-r"
Content-Transfer-Encoding: base64

8NLJ18XULCDQ0snXxdQhDQoNCg==

------=_NextPart_000_0003_01C8365F.2BF52BE0
Content-Type: text/html;
    charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dkoi8-r">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
    {margin:0cm;
    margin-bottom:.0001pt;
    font-size:12.0pt;
    font-family:"Times New Roman";}
a:link, span.MsoHyperlink
    {color:blue;
    text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
    {color:purple;
    text-decoration:underline;}
span.EmailStyle17
    {mso-style-type:personal-compose;
    font-family:Arial;
    color:windowtext;}
@page Section1
    {size:595.3pt 841.9pt;
    margin:2.0cm 42.5pt 2.0cm 3.0cm;}
div.Section1
    {page:Section1;}
-->
</style>

</head>

<body lang=3DRU link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>=F0=D2=C9=D7=C5=D4, =
=D0=D2=C9=D7=C5=D4!<o:p></o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_000_0003_01C8365F.2BF52BE0--



Пробую выводить через base64_decode, получается строчка иероглифов

   
 
 автор: Trianon   (04.12.2007 в 23:27)   письмо автору
 
   для: bars_A   (04.12.2007 в 12:06)
 

Subject: =?koi8-r?B?.....?=

Читать RFC-2822 (и сопутствующие) не пробовали?
koi8-r - кодовая страница текста.

B - метод кодирования содержимого: base64
может быть также Q - quoted printable

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования