форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Страниц: 1 2
Последняя версия txp. При посыле паролей на мыло или уведомлении при камментах - полная абра кадабра в сабжекте и в поле - от. Никто не встречался? Как бы порешать?
Неактивен
а какой почтовый клиент используется?
Неактивен
Beginner написал:
а какой почтовый клиент используется?
А что, такая проблема не во всех?
Неактивен
glebotr написал:
А что, такая проблема не во всех?
Проблема только в том, что в заголовке емэйла сначала идет поле from, потом subject, потом кодировка, потом body
Почтовый клиент читает и выводит построчно, перекодировку делая только после поля кодировка.
Вот и хочу узнать, во всех ли почтовых клиентах так происходит?
Неактивен
Во всех или нет, не знаю.. но в бате - точно. Это можно как-то исправить?
Неактивен
в поле "от" печатается имя пользователя, которое указывалось при регистрации
таблица txp_users, поле RealName написать по английски.
как поправить сабджект не знаю
Неактивен
Если только в лэнгуэйдже или в либах просто убить функцию подставления в сабжект русской фразы и вписать руками типа - Нотис фром бла-бла-бла....
Неактивен
Scout написал:
просто убить функцию подставления в сабжект русской фразы
если уж лезть в код, то лучше русские буквы в латинницу переводить
Неактивен
В продолжение темы. Кто нибудь решил сабжевую проблему?
следующая строка из lang файла неправильно перекодируется
comment_received => [%s] полученных комментариев: %s
приходит в таком виде: [%s] ะฟะพะปั ั ะตะฝะฝั ั ะบะพะผะผะตะฝั ะฐั ะธะตะฒ: %s
плюс к тому в предыдущей строке и в этой:
comment_recorded => Комментарий на ваше сообщение "%s" был записан.
не обрабатывается "%s" (не знаю как точно обозвать эту метку) т.е. выводится как есть.
такое наблюдение: ставил textpattern на двух хостах: mychost.com (бесплатный) и bizhost.ru -- на mychost.com, в отличие от bizhost кодировки не перевираются, но оператор(?) "%s" не обрабатывается ни там, ни там.
Support bizhost ответил:
"........
Попробуйте присваивать кодировку письму принудительно в хедере.
На сервере все работает корректно
.........."
Давайте попробуем решить эту проблему, она ведь не только у меня:)
Неактивен
заменил "%s" и %s на [{site}] и {title} теперь подставляются нужные значения "Название сайта" и "Название статьи". Теперь: что делать с Subject: — приходит кракозябрами. Как это победить? Вроде это описывается в /textpattern/lib/txplib_misc.php
Знатоки помогайте!
Неактивен
Господа! Неужели проблема неразрешима или я незаметил, что задал риторический вопрос?
Помогите пожалуйста!
К сожалению в Php я ни в зуб ногой:( раньше занимался только Html
Неактивен
проблема наверяняка разрешима, просто она особо пока проблем не создает, видимо.
Давай начнем с того - какая версия Тхп?
в 4.0.2 и выше появилась настройка - задать кодировку письма, в
админ.панели, настройки/продвинутые настройки
настройка: Использовать кодировку ISO-8859-1 для e-mail? (по умолчанию: utf-8)
как установлена?
Неактивен
Спасибо Евгений. Просто я делаю сайт-визитку для одного небольшого издательства и для последующей сортировки отзывов и запросов хорошо что бы Subject был в читаемом виде. можно конечно сортировать м по другим полям, но неправильно IMHO видеть в почтовике заголовки на тайваньском:)
версия 4.0.3, кодировка выбрана utf-8 — иначе — вообше знаки вопроса
Почему в lng файле стоит метка "%s" -- если по умолчанию она никак не обрабатывалась? с заменой на {title} заработало.
Интересно, что на забугорном freehost все работает, а у нашего нет — там и там одна версия: 4.0.3
Неактивен
page.proof написал:
Интересно, что на забугорном freehost все работает, а у нашего нет — там и там одна версия: 4.0.3
хм.. навевает подозрение, что хостер как-то перенастроил sendmail
что-нибудь, типа принудительной перекодировки в КОИ-8 и т.п.
С другой стороны - насколько понял - только Subject портится?
Само тело письма приходит нормально?
Неактивен
Только Subject: тело в прорядке.
Хостер сказал, что у него все пучком. Как я уже говорил, хостер предложил каким-то образом указывать кодировку в "хедере" (head?) письма.
Вот цитата из ответа хостера
****************************
Обращаем Ваше внимание, что вопросами программирования согласно нашим
правилам ................................................................... клиент занимается
самостоятельно. Проводить параллели между разными хостинговыми серверами -
некорректно. Пользователь должен настраивать собственное ПО под
конкретные сервер, указывать конкретные пути, ставить определенные
права на файлы. Если на сервере нет нужных библиотек, то обращаться в
суппорт, чтобы их установили. При этом пользователь самостоятельно
определяет, какие библиотеки нужны для работы его собственного ПО, а
наш администратор рассматривает возможность их установки на сервере.
****************************
может там действительно чего не хватает?
Можно ведь PHP запросом проверить какие функции есть в наличии?
Отредактированно page.proof (16-01-2006 13:05:24)
Неактивен
С Thunderbird та же проблема (просто для статистики)
Неактивен
Заголовок все-таки приходит в 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)
Неактивен
сейчас провел проверку на локале, под денвером.
Установки в админ.панели - письма отправлять в utf-8
Результаты такие:
в thebat (версия очень старая - 1.45) - тело письма читается нормально - Subject перекодировке не поддается.
в outlook express 6 все читается нормально, и тело и заголовок.
давайте смотреть - кто какими клиентами пользуется? Может быть здесь проблема?
Неактивен
Подставлял 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 все приходит корректно. Так-что дело не в почтовике и не в почтовом сервере адресата.
Хостер настойчиво отсылает к производителю движка (зараза:)
Неактивен
повторил эксперимент - отправил емэйл вебинтерфейсу почтовой службы яндекса.
результат - тело письма читается нормально, заголовок письма, от кого и кому, написанные на русском - становятся нечитаемыми.
странная проблема. причины - непонятны.
Может быть, есть у кого идеи по решению этой проблемы?
Неактивен
Один момент. Он не совсем нечитаем, Если посмотреть исходник в UTF-8 заголовок выглядит как: Subject: [%s] пол? ? енн? ? коммен? а? иев: %s
Неактивен
как один из вариантов решения - перевести заголовки емэйлов в транслит, т.е. выводить латинницей.
кого устроит такой вариант решения следующий хак, для версии 4.0.3
файл textpattern/lib/txplib_misc.php, перед строкой под номером 740 (т.е. первой строкой в функции function strip_rn($str))
вставим строку:
$str=dumbDown($str);
сохраняем, закачиваем модифицированный файл на сервер, и смотрим результат.
Неактивен
OK. все работает. Спасибо большое!
Надо это в FAQ вынести IMHO.
только один вопросик остался: почему ключ(или как правильно?) %s не обрабатывается, а {title} например обрабатывается корректно? Замучаешся каждую новую версию локализации скачивать и править. Может сразу поменять (кто у нас переводом занимается:)
прим. я такой вариант ключа нашел в польской, кажется локализации -- скачал русскую локаль отд. файлом, поменял -- и все заработало: подстановка названия сайта и названия Article в Subject
Отредактированно page.proof (17-01-2006 18:34:15)
Неактивен
.
Отредактированно dizeee (26-02-2007 01:39:39)
Неактивен
Страниц: 1 2