Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кодировкой 
V
    Опции темы
Каролина
Дата 5.11.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 26.12.2006

Репутация: 1
Всего: 1



Имеется такой скрипт,взятый с этого форума:
Код

<? 
  class mime_mail { 
    var $parts; 
    var $to; 
    var $from; 
    var $headers; 
    var $subject; 
    var $body; 
    function mime_mail() { 
        $this->parts = array(); 
        $this->to = ""; 
        $this->from = ""; 
        $this->subject = ""; 
        $this->body = ""; 
        $this->headers = ""; 
        } 
    function add_attachment($message, $name = "", $ctype = "application/octet-stream") { 
        @$this->parts[] = array ( 
            "ctype" => $ctype, 
            "message" => $message, 
            "encode" => $encode, 
            "name" => $name 
            ); 
        } 
    function build_message($part) { 
        $message = $part["message"]; 
        $message = chunk_split(base64_encode($message)); 
        $encoding = "base64"; 
        return "Content-Type: ".$part["ctype"].($part["name"]? "; name = \"".$part["name"]."\"" : "")."\nContent-Transfer-Encoding: $encoding\n\n$message\n"; 
        } 
    function build_multipart() { 
        $boundary = "b".md5(uniqid(time())); 
        $multipart = "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary"; 
        for($i=sizeof($this->parts)-1; $i>=0; $i--) { 
            $multipart .= "\n".$this->build_message($this->parts[$i])."--$boundary"; 
            } 
        return $multipart .= "--\n"; 
        } 
    function get_mail($complete = true) { 
        $mime = ""; 
        if (!empty($this->from)) 
            $mime .= "From: ".$this->from."\n"; 
        if (!empty($this->headers)) 
            $mime .= $this->headers."\n"; 
        if ($complete) { 
            if (!empty($this->to)) 
                $mime .= "To: ".$this->to."\n"; 
            if (!empty($this->subject)) 
                $mime .= "Subject: ".$this->subject."\n"; 
            } 
        if (!empty($this->body)) 
            $this->add_attachment($this->body, "", "text/plain"); 
        $mime .= "MIME-Version: 1.0\n".$this->build_multipart(); 
        return $mime; 
        } 
    function send() { 
        $mime = $this->get_mail(false); 
        mail($this->to, $this->subject, "", $mime); 
        } 
    }; 
$filename="01.gif";//сам файл 
$fd = fopen($filename, "r"); 
$data = fread($fd, filesize($filename)); 
fclose($fd); 
$mail = new mime_mail; 
$mail->from="от меня";   // от кого 
$mail->to="[email protected]";     // кому 
$mail->subject = "тема";//тема 
$mail->body="привет всем!";  // "Attachment";//тело 
$mail->add_attachment($data, $filename); 
$mail->send(); 
?> 
 


но вместо "привет всем!" в письме приходит бНР МНБЕМЭЙХЕ! Что нужно подправить в скрипте чтоб номальный кирилический текст тоже приходил нормально?

Это сообщение отредактировал(а) Каролина - 5.11.2010, 16:37
PM MAIL   Вверх
patap
Дата 5.11.2010, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



думаю надо в строке 52 указать кодировку

Код

$this->add_attachment($this->body, "", "text/plain; charset=windows-1251"); // к примеру цп1251



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Каролина
Дата 5.11.2010, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 26.12.2006

Репутация: 1
Всего: 1



Сейчас у меня эта строчка выглядит так:
Код

$this->add_attachment($this->body, "", "text/plain"; charset=windows-1251");

но при запуске скрипта вот такая ошибка:
Код

Parse error: syntax error, unexpected ';' in /home/my_login/public_html/script.php on line 52

Что там не так?

Это сообщение отредактировал(а) Каролина - 5.11.2010, 17:58
PM MAIL   Вверх
patap
Дата 5.11.2010, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



ну, сравни две строчки
Код

$this->add_attachment($this->body, "", "text/plain; charset=windows-1251");  // - это моя
$this->add_attachment($this->body, "", "text/plain"; charset=windows-1251"); // - это  твоя



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
Каролина
Дата 5.11.2010, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 26.12.2006

Репутация: 1
Всего: 1



Вот теперь порядок,лишние кавычки я оставила...Мерси огромное за помощь!!! smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.