Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 26.05.2003, 10:17
roman58 вне форума Посмотреть профиль Отправить личное сообщение для roman58 Найти все сообщения от roman58
  № 1  
roman58

Регистрация: May 2003
Сообщений: 4
По умолчанию ПОЖАЛУЙСТА ПОМОГИТЕ с кодировкой почты, отправляемой из Flash

Я уже голову сломал с этой прооблемой. Отпраляю почту в PHP скрипт, используя методы getURL и loadVars.send или sendAndLoad. Данные беру из текстовых полей.
Все нормально работает, но только если содержимое полей (кому, от кого, сообщение, тема) вводится на английском языке. Если набирать текаст письма по-русски, эти символы приходят в непонятной кривой кодировке. Раскодировать никак не получается.

КАК ПОБЕДИТЬ ЭТУ ПРОБЛЕМУ? ПОДСКАЖИТЕ, ЕСЛИ КТО-НИБУДЬ ЗНАЕТ.

Старый 26.05.2003, 15:31
korkiss вне форума Посмотреть профиль Отправить личное сообщение для korkiss Найти все сообщения от korkiss
  № 2  
korkiss

Регистрация: Dec 2002
Адрес: msk
Сообщений: 41
Отправить сообщение для korkiss с помощью ICQ
скрипт скорее всего шлет в KOI-8, а флеш передает в winows-1251 (я предполагаю, проверять влом =))
если так, то ты можешь прописать в скрипте перекодировщик с помощью регекспа:
str =~ tr/алфавит win-1251 в кодировке Koi-8/АБВГД...ЭЮЯабвгдеё...эюя
то есть заменить все "каракули" на "нормальные" буквы вручную.

в твоем случае:
- посылаешь алфавит скрипту (с маленькими и большими буквами)
- получаешь скриптом "каракули"
- посылаешь как обычно
- получаешь "каракули" и узнаешь какая "каракуля" соответвует какой букве (тк слал алфавит)
- дописываешь в скрипте, чтобы он перед отсылкой менял все "каракули" на соотвертвующие буквы

^^^^
это ленивый способ =)

а если не влом, то сам разберись где какие кодировки и конверть при необходимости =)

что не понятно, спрашивай =)


Последний раз редактировалось korkiss; 26.05.2003 в 15:34.
Старый 26.05.2003, 16:25
roman58 вне форума Посмотреть профиль Отправить личное сообщение для roman58 Найти все сообщения от roman58
  № 3  
roman58

Регистрация: May 2003
Сообщений: 4
По умолчанию Если бы все было так просто...

Вот что мне приходит, когда я шлю такую строку:
абвгдеежзиклмнопрстуфхцчшщ АБВГДЕЕЖЗИКЛМНОПРСТУФХЦЧШЩ

абвгдеежзиклмнопСАСБСВСГСДСЕСЖСЗСИСЙ РРРСРТРУРФРХРХРЦРЧРШРЪРЫРЬРЭРЮРЯРаРбРвРгРдРеРжРзРиРй

так распознает TheBat, это кодировка Cyrillic (IBM-866/DOS)

или так

аАаБаВаГаДаЕаЕаЖаЗаИаКаЛаМаНаОаПбЂбЃб‚бѓб„б…б†б‡б?б‰ а*аЎаўаЈа¤аҐаҐа¦а§аЁаЄа«а¬а*а®аЇа°а±аІаіаґаµа¶а·аёа№

Это ISO-8859-5.

программы типа TOT-RECODE III вообще не могут найти ни одной комбинации перекодировки. Глухо как в танке.

Это не просто несовпадение кодировок KOI-8 и windows-1251. Тут вставляются еще символы между буквами. И их можно было бы вырезать, но в каждом наборе не присутствуют ВСЕ буквы. Можно кое-где увидеть цепочку последовательных букв, но она обрывается, потом где-то начинается снова.

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

Странно, что кроме вашего поста никакой реакции на мой вопрос.

В скрипте я поставил кодировку windows-1251. Замена символов одной кодировки на другую тут не поможет. Если бы вопрос был в этом, я бы сам, разобрался. Тем более, уже писал подобный перекодировщик текстов на C++. Но проблема, какя погляжу, гораздо серьезней. Если бы народ писал такие скрипты, то наверное был опыт решения таких проблем.

Если можете, подкиньте мыслишку. Спасибо.

Старый 26.05.2003, 20:54
CyberMax вне форума Посмотреть профиль Отправить личное сообщение для CyberMax Найти все сообщения от CyberMax
  № 4  
CyberMax
 
Аватар для CyberMax

Регистрация: Dec 2000
Адрес: Moscow, Russia
Сообщений: 204
Отправить сообщение для CyberMax с помощью ICQ
По умолчанию Re: Если бы все было так просто...

Цитата:
Оригинал написал(а) roman58
Вот что мне приходит, когда я шлю такую строку:
абвгдеежзиклмнопрстуфхцчшщ АБВГДЕЕЖЗИКЛМНОПРСТУФХЦЧШЩ

абвгдеежзиклмнопСАСБСВСГСДСЕСЖСЗСИСЙ РРРСРТРУРФРХРХРЦРЧРШРЪРЫРЬРЭРЮРЯРаРбРвРгРдРеРжРзРиРй

Если можете, подкиньте мыслишку. Спасибо.
Это Unicode UTF8. Попробуй System.useCodepage = true;
Либо работай с юникодными строками.

PS Кошмар, на дворе XXI век, а люди про юникод не слышали
__________________
Wbr, CyberMax

Старый 27.05.2003, 02:57
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 5  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
System.useCodepage = true; не спасает.

Старый 27.05.2003, 11:46
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 6  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
Вроде как-то надо использовать iconv, но у меня после трёх часов попыток что-то не получилось.
__________________
ВКЛЮЧИ МОЗГИ!!!
Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin

Старый 27.05.2003, 13:50
roman58 вне форума Посмотреть профиль Отправить личное сообщение для roman58 Найти все сообщения от roman58
  № 7  
roman58

Регистрация: May 2003
Сообщений: 4
По умолчанию ЗАРАБОТАЛО

Про Юникоды я слышал. Только не знал, что флэш шлет данные в этой кодировке по умолчанию, поскольку недано в нем работаю. Поэтому и просил помощи.

Когд прочитал пост CyberMax'a нашел в справочном файле эту самую useCodepage. Вот не дошел до этого раздела и в литературе нет этой информации. Надо бы купить книгу потолще по AS )

Короче, поставилu setCodepage = true. В процессе поиска решения в РНР-скрипте ставил различные кодировки в $headers, но в рабочем варианте убрал совсем эту строку. Т. е. пытался выдать полученные строки в Юникоде (еще без использования useCodepage), получался полный бред. Так что уберите из РНР кодировку и все будет работать.

Кстати, когда скрипт начал работать, перед этим моим последним действием была замена шрифта в динамических полях с OfficinaSansC на простой TimesNewRoman. Вот и думай, что к чему.

После того, как добился результата, решил поэкспериментировать с разными кодировками, вариантами РНР-скрипта, шрифтами. Короче, после всего решил вернуть все к работающему коду, но... тщетно. НЕ РАБОТАЛА, СВОЛОЧЬ!!!Все было один к одному. Уже и кэш почистил, и файлы все переименовал, и шрифты менял. Мля, кое-как получилось... Не знаю, что уж и как я сделал, но заработало.
Кстати, вообще заметил за флэшем такую особенность. Странный он какой-то, или глюковатый.

Спасибо КиберМаксу.

Для TTS: этот код будет работать, у меня же получилось. Но не надо забывать про прочие условия.

Вот полный текст скрипта на РНР, и мувик.

<?php

$to = $_POST['to'];
$message = $_POST['message'];
$namefrom = $_POST['from'];
$subject = $_POST['subject'];
$headers = "From: ";
$headers .=$namefrom;
$headers .= "<toTECHSUPPORT@your_server.ru>\r\n";

ini_set('SMTP', 'your_server.ru');
if (mail($to, $subject, $message, $headers)) {

// Здесь просто вывожу на экран переменные для контроля
echo ('* ');
print $to . ' * ';
print $namefrom . ' * ';
echo $subject . ' * ';
echo $message;
echo (' *');
echo ('The mail IS SENT');
} else {echo ('The mail IS NOT SENT');
}


МУВИК: вставляю в первый фрейм клипа.

System.useCodepage = true;

button.onRelease = function() {

getURL ("http://www.your_server.ru/your_script.php", "_blank", "POST");

}

Старый 27.05.2003, 14:26
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 8  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
Спасибо, конечно. Но если бы всё было так просто, я бы столько не мучился.
Какая кодировка у тебя получается при просмотре письма аутлуком?

Старый 27.05.2003, 14:42
roman58 вне форума Посмотреть профиль Отправить личное сообщение для roman58 Найти все сообщения от roman58
  № 9  
roman58

Регистрация: May 2003
Сообщений: 4
По умолчанию НЕПРОСТО!!!

А кто говорил, что у меня все просто получилось? Почитай сообщения.
Я сам дня 2 бился.

Я пользуюсь TheBat! В нем письмо нормально читается в кодировке Cyrillic (Windows-1251).

У тебя все еще не получается?

ЕСТЬ ЕЩЕ ОДИН МОМЕНТ.
Вся эта тема не будет работать если ты ТЕСТИРУЕШЬ КЛИП ИЗ ФЛЭША. Т. е. нужно создать htlm-страничку, вставить в нее клип. И так работать. Не обязательно выкладывать в Интернете, можно с винта.
Ты знаешь об этом? Если да, то я не знаю, в чем еще может быть проблема.
У меня браузер показывает правильно переменные на русском языке, если включить windows-1251.
В хелпе написано, что при использовании useCodepage=true страница будет отображаться в кодировке по-умолчанию. Т. е. если Винда нерусская, то может в этом причина. Тут надо использовать Юникод, но у меня с ним ничего не вышло. Я пробовал, отключая useCodepage, включать в браузере Unicode, но ни хера не было видно. Так что ага...

Старый 27.05.2003, 19:29
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 10  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
Проблема в том, что у меня сервер автоматически переводит текст из koi8-r в w1251. По любому, даже если текст не в koi8. Вот я и мучаюсь с перекодировкой. Вроде бы надо написать iconv("windows-1251","koi8-r", $message), а ни фига не пашет. Ни так ни по-другому.

Создать новую тему   Часовой пояс GMT +4, время: 17:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:13.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.