Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 17

Кодировка при передаче из динамического окна

10.08.2011, 10:37. Показов 1343. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация:
Форма заполнения рисуется локальным ява скриптом

function SmsForm(to,name,text){
s='<html><META HTTP-EQUIV='Content-Type' Content='text/html; Charset=unicode'><LINK href='style.css' rel=stylesheet type=text/css><head><title>Новое сообщение</title></head><sc'+'ript language=javascript>var sum=0;</'+'script><body bgproperties='fixed'>
<form action ='action.asp' method='post'><table align='center' class='Pmenu' cellspacing='0' cellpadding='0' border='0' width='90%'><tr><td class='Tmenu' colspan='2' align='center'><a target='_blank' href='smsh.asp?user='+to+''>'+name+'</td></tr><tr><td colspan=2>'+text+'</td></tr><tr><td align='center' colspan='2'><textarea cols='45' rows='5' onkeyup='sum=0;' onkeydown='if(window.event.keyCode==17 && sum==0){sum=1;}else if(sum==1 & window.event.keyCode==13){sum=0;submit() ;}else{sum=0;}' name='message'></textarea></td></tr><tr> <td class='Tmenu' align='center'><input type='Reset' value='Очистить'></td> <td class='Tmenu' align='center'><input type='Submit' value='Отослать'></td></tr></table><input type='hidden' name='action' value='Sms'><input type='hidden' name='to' value='' + to + ''></form>
</body></html>';
w=top.open('','','');
w.document.write();}

в файл action.asp русские буквы приходят крякозябрами.
Если же форму сделать отдельным файлом, то всё замечательно.
Идея сделать без отдельного файла!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2011, 10:37
Ответы с готовыми решениями:

кодировка при передаче POST
Здравствуйте. Передаю форму post методом, после передачи за место русских букв получается что-то вроде %D1%8B%D0%B2%D0% . В чем дело не...

Кодировка при передаче данных методом GET
Всем привет! Есть проблема следующего рода... Вписываю в адресную строку браузера: http://prime/qwe.php?text=привет qwe.php: ...

Кодировка символов при передаче в COM-порт
Собственно проблема в том, что при попытке оправить строку в порт получаю точки между символами, а при выводе в Message.Show все правильно....

5
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 17
10.08.2011, 10:38  [ТС]
то есть w.document.write(s);
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
10.08.2011, 11:36
У тебя указана кодировка unicode
<META HTTP-EQUIV='Content-Type' Content='text/html; Charset=unicode'>
это везде на сайте применяется?

Я не могу понять смысла в использовании такого кода. Сделай отдельный html или asp файл с формой отправки и вызывай его через
window.open()
0
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 17
10.08.2011, 13:01  [ТС]
Я поправил везде на Windows-1251, всё равно не помогло... старанно.

А смысл следующий - экономия трафика. С отдельным файлом для посылки/отображения маленького текста качается вся страничка формы, 1% от которой нужный текст (сообщение), а при рисовании формы динамически принимается от сервера только нужный текст и подставляется в заранее один раз закаченную форму. Экономия 99% трафика!!!
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
10.08.2011, 19:42
А ты не в Опере случайно это проверяешь? Она славится таким поведением.

Экономия траффика дело правильное. Я бы так попровал сделать. Создаем статический html файл с формой. В свойствах IIS ставим для него Expiration через 1 день или больше. В нужном месте ставим вызов
w = top.open('_blank', 'smsform.html','');
В smsform.html на событие onload вызывается скрипт который берет параметры to,name и text из родительского окна.

В этом случае не будет проблем с кодировкой, проще будет поддерживать и траффик будет экономиться.
0
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 17
11.08.2011, 10:36  [ТС]
Я разобрался!
Это глюк из раздела Javascript!
По умолчанию при генерации динамического окна браузер (в частности IE) устанавливает кодировку документа UNICODE и метой это изменить нельзя. Исправить это удалось дописав в коде генерируемого окна:

....<sc'+'ript language=javascript>document.charset='Wi ndows-1251'</'+'script>....

Всё оказалось просто ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.08.2011, 10:36
Помогаю со студенческими работами здесь

При передаче в функцию динамического массива, в массиве искажаются данные
Мне необходимо построить код Шеннона, на основе псевдокода, предложенного в лекции (кодирую текст на английском алфавите). При создании...

При передаче динамического массива по значению, изменяются исходные данные
Есть массив: ... type dynArray = array of array of double; ... var matrix: dynArray; ...

Кодировка в при передаче текста виджету через setText()
Динамически создается объект (QWidget) При его создании динамически добавляется текст функцией setText(). Текст добавляется на русском. ...

Передать параметр высоты окна в setGeometry для динамического изменения высоты окна
Здравствуйте, появилась необходимость динамически изменять высоту окна. Первоначальный код такой: myClass.h #include...

Создание события для динамического окна
Есть страница мне надо сделать событие для &quot;msgWindow&quot; для отслеживание нажатия клавиш вот как я пытался делать.Нигде толком ничего не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru