|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2009
Сообщений: 16
|
Проблемы с кириллицей в почтовой форме
Письмо отправляется из флешки (почтовая форма на флеше+PHP).
Когда приходит в The Bat кодировка автоматически не распознавалась. Поставил utf-8 по умолчанию (в почтовой программе) - стал распознаваться текст, который вводит пользователь. Но сам русский текст из PHP файла sendmail.php не распознается (на английском всё работает, а на русском нет). Да и на mail.ru когда смотрю письма, тоже кодировка не распознается бывает. В интернете кучу всего перерыл. По всяком пробывал - не получается ни в какую...
|
|
|||||
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
тут посмотрите: http://www.flasher.ru/forum/showthre...=133490&page=2
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
Регистрация: Dec 2009
Сообщений: 16
|
Цитата:
может, там и есть ответ, но я не программист и не могу разобраться в том, что там написано. Последний раз редактировалось nifty5; 01.01.2010 в 21:45. |
|
|||||
[+3 02.01.10]
Регистрация: Nov 2009
Сообщений: 67
|
кириллица в PHP
Nyfty5 все должно получиться
1. При создании Flash почт. формы нельзя при работе внутри FLA применять в ---Properties -- Setting-- режим прозрачности -transparent, который используется для прозрачных swf файлов. В этом случае кириллица в swf файле в самой форме пробиваться не будет!! Проверте. Это баг, который Adobe до сих пор не может ликвидировать. 2. При создании формы (внутри FLA) используйте (правым кликом в Lybrary) надежные кириллические шрифты Time New Roman , Arrial и т.д. Проверте в созданной swf форме впрямую (до установки на HTML стр.) что набирается кириллица , а не квадратики. (Англ. у Вас будет набиваться всегда). В этом случае кодировка UTF8 будет обеспечена автоматически. 3.При создании скриптов ( у меня AS2 во Fash 8) в почтовой форме (внутри FLA) рекомендую добавлять на скрипте отправки --- System.useCodepage = true; Например у меня в форме на муви-клипе отправки на mail.php стоит: 3. Если в swf кириллица набирается, а при установке на HTML нет - значит причина одна -Не прописывайте swf почтовую форму на HTML использованием Wmode=transparent, что происходит ввиду п.1 при одновременной генерации из под FLA swf и HTML стр. Проверте это и используйте прописку на Html вида: <DIV id=idElement11 style=" POSITION: absolute; TOP:282px; LEFT:10 px;"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="350" height="350" id="Lun_Post.swf" align="middle"> <param name="allowScriptAccess" value="sameDomain"/> <param name="movie" value="Lun_Post.swf"/> <param name="quality" value="high"/> <embed src="Lun_Post.swf" quality="high" bgcolor="# " width="350" height="350" name="Lun_Post.swf" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> </object> </div> Что касается PHP файла, то (например, для формы с пятью полями) я вначале (переругавшись с ребятами на своем Хостинге-- rbk.ru ) увидел нормальный прием в кириллице при следующем PHP файле: <?php // iconv_set_encoding('internal_encoding', 'UTF-8'); // Исходная кодировка файлов iconv_set_encoding('output_encoding' , 'WINDOWS-1251'); // Конечная кодировка ob_start('ob_iconv_handler'); // буферизация // Установка локали setlocale(LC_ALL, 'ru_RU.CP1251'); header('Content-Type: text/html; charset=CP1251'); $name = $_POST['name']; $last = $_POST['last']; $mail = $_POST['mail']; $address = $_POST['address']; $message = $_POST['message']; mail("makalex@aviasystems.com","Сообщение с сайта", "Имя : $name\nФамилия : $last\nE-mail : $mail\nТелефон : $address\nСообщение : $message"); ?> непосредственно в ящиках (лучше на Mail.ru или Rambler.ru) временно отказавшись от почтовых клиентов (у меня The Bat). Клиенты лучше подключать после наладки !! Рекомендую. И не бойтесь требовать от мэнов на Вашем Хостинге чтобы они прокомпиллировали Ваш PHP файл на своем сервере. У них часто по этой части идут заморочки а Вы ( Я тоже долго) ломаете голову в чем дело. Например когда заработал верхний PHP они там что-то у себя доналадили и уменя просто отлично заработал и работает до сих пор простейший вариант <?php header('Content-Type: text/html; charset=utf-8'); $name = $_POST['name']; $last = $_POST['last']; $mail = $_POST['mail']; $address = $_POST['address']; $message = $_POST['message']; mail("makalex@aviasystems.com","Сообщение с сайта www.aviasystems.com", "Имя : $name\nФамилия : $last\nE-mail : $mail\nТелефон : $address\nСообщение : $message"); ?> И пожалуйста аккуратно и почетче следите за пробелами и казявками при написании или копировании файла PHP. Еще раз обращаю Ваше внимание, что если Вы используете только Англ. язык общения в почте, то можно использовать режим "прозрачности" по п.1 и получать красивые Формы, не затеняющие Backgroung на Вашей HTML стр. Если Вам необходимо использовать и Англ. и Кириллицу тогда Вам придется отказаться от "прозрачности". Правда оставляя во FLA просто белый фон и помещая далее готовую форму на белую HTML стр. (или наоборот вырезая соотв. куски фона в HTML по размеру почт. формы и места ее положения) с подгонкой ее по месту с помощью Дивов можно получать все красиво на HTML и с кириллицей на Почте. Я постараюсь завтра запостить примерчик в новой теме. Спасибо за внимание Последний раз редактировалось AlexMakienko; 07.01.2010 в 03:38. |
Часовой пояс GMT +4, время: 20:14. |
|
« Предыдущая тема | Следующая тема » |
|
|