Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 29-09-2005 17:04:49

Scout
веди
Откуда: Питер
Зарегистрирован: 23-09-2005
Сообщений: 21

Как устранить абра-кадабру в email-письмах?

Последняя версия txp. При посыле паролей на мыло или уведомлении при камментах - полная абра кадабра в сабжекте и в поле - от. Никто не встречался? Как бы порешать?

Неактивен

 

#2 30-09-2005 15:15:08

Beginner
земля
Зарегистрирован: 22-04-2005
Сообщений: 104

Re: Как устранить абра-кадабру в email-письмах?

а какой почтовый клиент используется?

Неактивен

 

#3 30-09-2005 17:18:51

glebotr
ять
Зарегистрирован: 25-06-2005
Сообщений: 1974
Вебсайт

Re: Как устранить абра-кадабру в email-письмах?

Beginner написал:

а какой почтовый клиент используется?

А что, такая проблема не во всех?


Пх’нглуи мглв’нафх Ленин Красная площадь вгах’нагл фхтагн
(В своем доме на Красной площади мертвый Ленин спит, ожидая своего часа (ктулх.))

Неактивен

 

#4 06-10-2005 10:07:03

Beginner
земля
Зарегистрирован: 22-04-2005
Сообщений: 104

Re: Как устранить абра-кадабру в email-письмах?

glebotr написал:

А что, такая проблема не во всех?

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

Неактивен

 

#5 14-10-2005 15:01:39

Scout
веди
Откуда: Питер
Зарегистрирован: 23-09-2005
Сообщений: 21

Re: Как устранить абра-кадабру в email-письмах?

Во всех или нет, не знаю.. но в бате - точно. Это можно как-то исправить?

Неактивен

 

#6 14-10-2005 16:01:50

glebotr
ять
Зарегистрирован: 25-06-2005
Сообщений: 1974
Вебсайт

Re: Как устранить абра-кадабру в email-письмах?

У меня та же проблема ;(


Пх’нглуи мглв’нафх Ленин Красная площадь вгах’нагл фхтагн
(В своем доме на Красной площади мертвый Ленин спит, ожидая своего часа (ктулх.))

Неактивен

 

#7 14-10-2005 17:17:17

Yurik
земля
Зарегистрирован: 22-04-2005
Сообщений: 115

Re: Как устранить абра-кадабру в email-письмах?

в поле "от" печатается имя пользователя, которое указывалось при регистрации
таблица txp_users, поле RealName написать по английски.

как поправить сабджект не знаю sad

Неактивен

 

#8 16-10-2005 17:16:02

Scout
веди
Откуда: Питер
Зарегистрирован: 23-09-2005
Сообщений: 21

Re: Как устранить абра-кадабру в email-письмах?

Если только в лэнгуэйдже или в либах просто убить функцию подставления в сабжект русской фразы и вписать руками типа - Нотис фром бла-бла-бла....

Неактивен

 

#9 16-10-2005 18:40:47

Yurik
земля
Зарегистрирован: 22-04-2005
Сообщений: 115

Re: Как устранить абра-кадабру в email-письмах?

Scout написал:

просто убить функцию подставления в сабжект русской фразы

если уж лезть в код, то лучше русские буквы в латинницу переводить smile

Неактивен

 

#10 14-01-2006 13:36:30

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

В продолжение темы. Кто нибудь решил сабжевую проблему?

следующая строка из lang файла неправильно перекодируется

Код:

comment_received => [%s] полученных комментариев: %s

приходит в таком виде: [%s] ะฟะพะปั ั ะตะฝะฝั ั ะบะพะผะผะตะฝั ะฐั ะธะตะฒ: %s
плюс к тому в предыдущей строке  и в этой:

Код:

comment_recorded => Комментарий на ваше сообщение "%s" был записан.

не обрабатывается "%s" (не знаю как точно обозвать эту метку) т.е. выводится как есть.

такое наблюдение: ставил textpattern на двух хостах: mychost.com (бесплатный) и bizhost.ru -- на mychost.com, в отличие от bizhost кодировки не перевираются, но оператор(?) "%s" не обрабатывается ни там, ни там.

Support bizhost ответил:

"........
Попробуйте присваивать кодировку письму принудительно в хедере.
На сервере все работает корректно
.........."

Давайте попробуем решить эту проблему, она ведь не только у меня:)

Неактивен

 

#11 14-01-2006 16:51:38

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

заменил "%s" и %s на [{site}] и {title} теперь подставляются нужные значения "Название сайта" и "Название статьи". Теперь: что делать с Subject: — приходит кракозябрами. Как это победить? Вроде это описывается в /textpattern/lib/txplib_misc.php
Знатоки помогайте!

Неактивен

 

#12 16-01-2006 10:51:01

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

Господа! Неужели проблема неразрешима или я незаметил, что задал риторический вопрос?
Помогите пожалуйста!
К сожалению в Php я ни в зуб ногой:( раньше занимался только Html

Неактивен

 

#13 16-01-2006 12:34:37

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Как устранить абра-кадабру в email-письмах?

проблема наверяняка разрешима, просто она особо пока проблем не создает, видимо.
Давай начнем с того - какая версия Тхп?
в 4.0.2 и выше появилась настройка - задать кодировку письма, в
админ.панели, настройки/продвинутые настройки

настройка: Использовать кодировку ISO-8859-1 для e-mail? (по умолчанию: utf-8)
как установлена?

Неактивен

 

#14 16-01-2006 12:50:02

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

Спасибо Евгений. Просто я делаю сайт-визитку для одного небольшого издательства и для последующей сортировки отзывов и запросов хорошо что бы Subject был в читаемом виде. можно конечно сортировать м по другим полям, но неправильно IMHO видеть в почтовике заголовки на тайваньском:)
версия 4.0.3, кодировка выбрана utf-8 — иначе — вообше знаки вопроса
Почему в lng файле стоит метка "%s" -- если по умолчанию она никак не обрабатывалась? с заменой на {title} заработало.

Интересно, что  на забугорном freehost все работает, а у нашего нет — там и там одна версия: 4.0.3

Неактивен

 

#15 16-01-2006 12:56:23

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Как устранить абра-кадабру в email-письмах?

page.proof написал:

Интересно, что  на забугорном freehost все работает, а у нашего нет — там и там одна версия: 4.0.3

хм.. навевает подозрение, что хостер как-то перенастроил sendmail
что-нибудь, типа принудительной перекодировки в КОИ-8 и т.п.

С другой стороны - насколько понял - только Subject портится?
Само тело письма приходит нормально?

Неактивен

 

#16 16-01-2006 13:03:17

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

Только Subject: тело в прорядке.
Хостер сказал, что у него все пучком. Как я уже говорил, хостер предложил каким-то образом указывать кодировку в "хедере" (head?) письма.

Вот цитата из ответа хостера

****************************
Обращаем Ваше внимание, что вопросами программирования согласно нашим
правилам ................................................................... клиент занимается
самостоятельно. Проводить параллели между разными хостинговыми серверами -
некорректно. Пользователь должен настраивать собственное ПО под
конкретные сервер, указывать конкретные пути, ставить определенные
права на файлы. Если на сервере нет нужных библиотек, то обращаться в
суппорт, чтобы их установили. При этом пользователь самостоятельно
определяет, какие библиотеки нужны для работы его собственного ПО, а
наш администратор рассматривает возможность их установки на сервере.

****************************

может там действительно чего не хватает?
Можно ведь PHP запросом проверить какие функции есть в наличии?

Отредактированно page.proof (16-01-2006 13:05:24)

Неактивен

 

#17 16-01-2006 23:36:17

drakot
веди
Откуда: Saint-Petersburg (Ленинград)
Зарегистрирован: 16-01-2006
Сообщений: 28

Re: Как устранить абра-кадабру в email-письмах?

С Thunderbird та же проблема (просто для статистики)

Неактивен

 

#18 17-01-2006 11:43:47

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

Заголовок все-таки приходит в UTF-8 но "битый", вот как он выглядит: Subject: [%s] пол? ? енн? ?  коммен? а? иев: %s — что это может быть? Где собака порылась?

Вот для спецов. Может кто подскажет:)
выташил с сервера

Код:

System     FreeBSD biz6.bizhosting.ru 4.10-RELEASE-p9 FreeBSD 4.10-RELEASE-p9 #0: Sun i386
Build Date     Nov 2 2005 16:50:58
Configure Command     './configure' '--includedir=/usr/include' '--x-include=/usr/include' '--with-curl'
'--with-curl-dir=/usr/local' '--with-gd' '--with-gd-dir=/usr/local/lib' '--with-gettext' '--with-jpeg-dir=/usr/local/lib'
'--with-mcrypt' '--with-mhash' '--with-mysql=/usr/local' '--with-pear' '--with-png-dir=/usr/local/lib' '--with-xml'
'--with-zlib' '--with-zlib-dir=/usr/local/lib' '--with-zip' '--with-kerberos=/usr/local' '--with-openssl' '--enable-bcmath'
'--enable-calendar' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-track-vars' '--enable-memory-limit'
'--enable-dbase' '--enable-zend-optimizer' '--with-libxml-dir' '--with-iconv' '--with-ttf' '--with-iconv-dir=/usr/local'
'--with-freetype' '--with-freetype-dir=/usr' '--enable-gd-native-ttf' '--with-charset=cp1251' '--with-imap=/usr/local'
'--with-imap-ssl=/usr/local' '--with-dom' '--with-dom-xslt' '--with-dom-exslt' '--enable-xslt' '--with-xslt-sablot'
'--with-expat-dir=/usr/local' '--enable-mbstring'
Server API     CGI
Virtual Directory Support     disabled
Configuration File (php.ini) Path     /usr/local/Zend/etc/php.ini
PHP API     20020918
PHP Extension     20020429
Zend Extension     20021010
Debug Build     no
Thread Safety     disabled
Registered PHP Streams     php, http, ftp, https, ftps, compress.zlib

и вот еще

Код:

Configuration
PHP Core
..............................................
default_charset    cp1251
..............................................

насколько я понял вот этот фрагмент txplib_misc.php отвечает за кодировку. (повторяю — в PHP я чайник:)

Код:

function txpMail($to_address, $subject, $body, $reply_to = null) 
    {
        global $txp_user, $prefs;
        if (isset($txp_user))
        {    // Likely sending passwords
            extract(safe_row("RealName, email", "txp_users", "name = '".doSlash($txp_user)."'"));
        } 
        else
        {    // Likely sending comments -> "to" equals "from"
            extract(safe_row("RealName, email", "txp_users", "email = '".doSlash($to_address)."'"));
        }

        if ($prefs['override_emailcharset'])
        {
            $charset = 'ISO-8599-1';
            if (is_callable('utf8_decode'))
            {
                $RealName = utf8_decode($RealName);
                $subject  = utf8_decode($subject);
                $body     = utf8_decode($body);
                $to_address = utf8_decode($to_address);
                if (!is_null($reply_to)) $reply_to = utf8_decode($reply_to);
            }
        } else {
            $charset = 'UTF-8';
        }

        $RealName = strip_rn($RealName);
        $subject = strip_rn($subject);
        $email = strip_rn($email);
        if (!is_null($reply_to)) $reply_to = strip_rn($reply_to);

        if (!is_callable('mail')) 
        {
            if (txpinterface == 'admin' && $GLOBALS['production_status'] != 'live') 
                echo tag(gTxt('warn_mail_unavailable'),'p',' style="color:red;" ');
            return false;
        }
        else
        {
            $sep = (!is_windows()) ? "\n" : "\r\n";
            $body = str_replace("\r\n", "\n", $body);
            $body = str_replace("\r", "\n", $body);
            $body = str_replace("\n", $sep, $body);
            return mail($to_address, $subject, $body,
             "From: $RealName <$email>$sep"
            ."Reply-To: ". ((isset($reply_to)) ? $reply_to : "$RealName <$email>") . $sep
            ."X-Mailer: Textpattern$sep"
            ."Content-Transfer-Encoding: 8bit$sep"
            ."Content-Type: text/plain; charset=\"$charset\"$sep");        
        }
    }

Отредактированно page.proof (17-01-2006 11:47:17)

Неактивен

 

#19 17-01-2006 11:54:38

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Как устранить абра-кадабру в email-письмах?

сейчас провел проверку на локале, под денвером.
Установки в админ.панели - письма отправлять в utf-8
Результаты такие:
в thebat (версия очень старая - 1.45) - тело письма читается нормально - Subject перекодировке не поддается.
в outlook express 6 все читается нормально, и тело и заголовок.
давайте смотреть - кто какими клиентами пользуется? Может быть здесь проблема?

Неактивен

 

#20 17-01-2006 12:02:05

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

Подставлял e-mail разных серверов: gmail.com megawap.ru valuehost.ru nm.ru bizhost.ru (итого 5 шт.) и проверял почту: Thunderbird (v.1.5), Opera 8.5 + все через web-interfase -- результат АБСОЛЮТНО одинаковый. Повторяюсь: с этой-же версии TXP установленной на mychost.com все приходит корректно. Так-что дело не в почтовике и не в почтовом сервере адресата.
Хостер настойчиво отсылает к производителю движка (зараза:)

Неактивен

 

#21 17-01-2006 12:33:30

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Как устранить абра-кадабру в email-письмах?

повторил эксперимент - отправил емэйл вебинтерфейсу почтовой службы яндекса.
результат - тело письма читается нормально, заголовок письма, от кого и кому, написанные на русском - становятся нечитаемыми.
странная проблема. причины - непонятны.
Может быть, есть у кого идеи по решению этой проблемы?

Неактивен

 

#22 17-01-2006 12:35:56

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

Один момент. Он не совсем нечитаем, Если посмотреть исходник в UTF-8 заголовок выглядит как:  Subject: [%s] пол? ? енн? ?  коммен? а? иев: %s

Неактивен

 

#23 17-01-2006 17:34:19

Evgeny
ять
Зарегистрирован: 15-03-2005
Сообщений: 1869

Re: Как устранить абра-кадабру в email-письмах?

как один из вариантов решения - перевести заголовки емэйлов в транслит, т.е. выводить латинницей.
кого устроит такой вариант решения следующий хак, для версии 4.0.3
файл textpattern/lib/txplib_misc.php, перед строкой под номером 740 (т.е. первой строкой в функции function strip_rn($str))
вставим строку:

Код:

$str=dumbDown($str);

сохраняем, закачиваем модифицированный файл на сервер, и смотрим результат.

Неактивен

 

#24 17-01-2006 18:30:52

page.proof
добро
Откуда: Москва
Зарегистрирован: 06-01-2006
Сообщений: 46

Re: Как устранить абра-кадабру в email-письмах?

OK. все работает. Спасибо большое!
Надо это в FAQ вынести IMHO.

только один вопросик остался: почему ключ(или как правильно?) %s не обрабатывается, а {title} например обрабатывается корректно? Замучаешся каждую новую версию локализации скачивать и править. Может сразу поменять (кто у нас переводом занимается:)

прим. я такой вариант ключа нашел в польской, кажется локализации -- скачал русскую локаль отд. файлом, поменял -- и все заработало: подстановка названия сайта и названия Article в Subject

Отредактированно page.proof (17-01-2006 18:34:15)

Неактивен

 

#25 26-02-2007 01:28:01

dizeee
аз
Зарегистрирован: 08-09-2006
Сообщений: 3

Re: Как устранить абра-кадабру в email-письмах?

.

Отредактированно dizeee (26-02-2007 01:39:39)

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru