1 (изменено: xsanekk, 2013-06-13 15:13:46)

Тема: VBS: Кодировка вывода сообщений

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

AddForm.elements("id_title").value = ("Текст") 

Вот получается сохранить в нормальной кодировке, но мне надо вставлять в форму а не сохранять в файл!


Set st = CreateObject("ADODB.Stream")
st.Type=2
st.Open
st.Charset = "windows-1251"
st.WriteText("текст")

И еще вопрос как сделать условие если есть форма входа, ну логин и пароль, то авторизоваться, если нет то продолжить выполнение скрипта? Кусок кода для авторизации написал, а вот условие никак не могу сделать, помогите пожалуйста!

Вот весь код скрипта... все работает кроме кодировки....


Dim objFSO,DayDate, DateEnd, w, f, st, objFile, Text, WshShell
Set objIE = CreateObject("InternetExplorer.Application")
set WshShell = WScript.CreateObject("WScript.Shell") 
objIE.Visible = false
objIE.Navigate "http://мойсайт.ru/"

While objIE.Busy
    WScript.Sleep 200
Wend

   DD=Day(Now())                         
    If DD < 10 Then
       DD = "0" & DD                        
    End If
   MM=Month(Now())
    If MM < 10 Then
       MM="0" & MM                         
    End If
   GG=Year(Now())
            DayDate = DD & "." & MM & "." & GG
            If DD = 10 Then
                DD1 = "0" & DD  
            End If
                DateEnd = GG & "-" & MM & "-" & DD    

dtNow = Now()
weekDayNow = WeekDay(dtNow)

Select Case weekDayNow
    Case 1 ' Вс'
        diffDay = -2
    Case 2 ' Пн'
        diffDay = -3
    Case Else
        diffDay = -1
End Select

dtPrev = DateAdd("w", diffDay, dtNow)
    MM1 = Mid(dtPrev,4,2)
    DD1 = Left(dtPrev, 2)
DateAdd1 = GG & "-" & MM1 & "-" & DD1

WScript.Sleep 200
objIE.Document.All.Item("Add").click
Set AddForm = objIE.Document.forms("AddTaskForm")
Set st = CreateObject("ADODB.Stream")
st.Type=2
st.Open
st.Charset = "windows-1251"
st.WriteText("текст")
AddForm.elements("id_title").value = ("Текст" & " " & DayDate)
AddForm.elements("id_author").value = "89"
AddForm.elements("id_progress").value = "100"
AddForm.elements("id_text").value = ("Текст")
AddForm.elements("id_date_add").value = (DateAdd1)
AddForm.elements("id_date_end").value = (DateEnd)
'AddForm.Submit

'objIE.Left       = 200
'objIE.Top        = 200
'objIE.Height     = 768
'objIE.Width      = 1024
objIE.Visible = true
objIE.FullScreen = true

2

Re: VBS: Кодировка вывода сообщений

А ссылку на эту конкретную страницу привести можете?

3 (изменено: xsanekk, 2013-06-13 15:54:55)

Re: VBS: Кодировка вывода сообщений


<!DOCTYPE html>
<html lang="en">
<body>
<header>
<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container-fluid">
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </a>
            <div class="nav-collapse">
                
                <nav>
                <ul class="nav">
                    <li class="active"><a href="/">Поручения</a></li>
                    <li class=""><a href="/history/">Истории</a></li>
                    
                    
                        <li class=""><a href="/reports/stat/">Отчет по сотрудникам</a>
                        </li>
                    

                    
                </ul>
                    
                    <form class="navbar-search pull-left" action="/search/">
                        <input type="text" class="search-query" placeholder="Поиск по названию" name="search-query">
                        
                        
                            <input type="hidden" name="query_type" value="project">
                        
                    </form>
                    
                <ul class="nav pull-right">
                    <li><a href="/profile/ivanov/">Моя карточка</a></li>
                    <li class="divider-vertical"></li>

                    <li class="dropdown">
                        <a data-toggle="dropdown" class="dropdown-toggle" href="#">ivanov <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <li><a href="/list/">Список сотрудников</a></li>
                            <li class="divider"></li>

                            
                            <li><a href="/edit/">Настройки профиля</a></li>
                            <li><a href="/logout/">Выход</a></li>
                        </ul>
                    </li>
                </ul>
                
                    
                    <ul class="nav pull-right">
                        <li>
                            <form action="" method="get" class="navbar-search" id="select_employer">
                                <select name="get_user">
                                    <option value="">-------</option>
                                    
                                        <option value="89"  >Иванов Иван Иванович</option>
                                    
                                        <option value="81"  >Петров Петр Петрович</option>
                                    
                                </select>
                            </form>
                        </li>
                    </ul>
                    
                
                </nav>
                
            </div>
        </div>
    </div>
</div>
</header>
<section>
<div class="container-fluid">


</div>
</section>
<section>
    <div class="container-fluid">
        <h3 style="color:#ce0000;float: left;">Иванов Иван Иванович</h3>
        
            <div style="float: right;display: table;">
                <h4 style="float: left; margin-right: 10px;">Всего: 10</h4>
                <h4 style="float: left; margin-right: 10px;">На сегодня: 1</h4>
                <h4 style="float: left; margin-right: 10px;">Просрочено: 0</h4>
            </div>
        
    </div>
</section>

    <div class="modal hide fade" id="AddTask">
        <form action="/" method="post" enctype="multipart/form-data" id="AddTaskForm">
            <div class="modal-header">
                <a data-dismiss="modal" class="close">?</a>
                <h3>Добавить поручение</h3>
            </div>
            <div class="modal-body">
                
                <table width="100%" id="task_form">
                    <tr valign="middle">
                        <td align="right"  class="label"><b>Название: *</b></td>
                        <td><input id="id_title" type="text" name="title" maxlength="200" /></td>
                        <!--  <td  align="right" class="label"><b>Кому поручено: *</b></td>
                        <td><select name="performer" id="id_performer">
<option value="" selected="selected">---------</option>
<option value="7">Юрьев Юрий Юрьевич</option>
</select></td> -->
                    </tr>
                    <tr valign="middle table-bordered">
                        <td align="right" width="150" class="label"><b>Номер связи:</b></td>
                        <td><input id="id_nomer" type="text" name="nomer" maxlength="200" /></td>
                        <td  align="right"  class="label"><b>Кем дано: *</b></td>
                        <td><select name="author" id="id_author">
<option value="" selected="selected">---------</option>
<option value="7">Юрьев Юрий Юрьевич</option>
</select></td>
                    </tr>

                    <tr valign="middle">
                        <td align="right" class="label"><b>Приоритет:</b></td>
                        <td><select name="priority" id="id_priority">
<option value="">---------</option>
<option value="High">Срочный</option>
<option value="Normal" selected="selected">Обычный</option>
<option value="Low">Низкий</option>
</select></td>
                        <td  align="right" class="label"><b>Дата поручения: *</b></td>
                        <td><input type="text" name="date_add" id="id_date_add" /></td>
                    </tr>
                    <tr valign="middle">
                        <td align="right" class="label"><b>Процент выполнения:</b></td>
                        <td><select name="progress" id="id_progress">
<option value="">---------</option>
<option value="10">10%</option>
<option value="20">20%</option>
<option value="30">30%</option>
<option value="40">40%</option>
<option value="50">50%</option>
<option value="60">60%</option>
<option value="70">70%</option>
<option value="80">80%</option>
<option value="90">90%</option>
<option value="100">100%</option>
</select></td>

                        <td align="right" class="label"><b>Срок исполнения: *</b></td>
                        <td><input type="text" name="date_end" id="id_date_end" /></td>
                    </tr>
                    <tr>
                        <td align="right" class="label"><b>Подробности:</b></td>
                        <td colspan="3"><textarea id="id_text" rows="10" cols="40" name="text"></textarea></td>
                    </tr>
                    <tr>
                        <td align="right" class="label"><b>Комментарий:</b></td>
                        <td colspan="3"><textarea id="id_comment" rows="10" cols="40" name="comment"></textarea></td>
                    </tr>
                    <tr>
                </table>
                <div class="modal-header" class="label"><h5>Прикрепить файлы</h5></div>
                <script type="text/javascript" src="/media/js/uploadify/swfobject.js"></script>
<script type="text/javascript" src="/media/js/uploadify/jquery.uploadify.js"></script>
<link href="/media/js/uploadify/uploadify.css" rel="stylesheet">


<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$('#fileInput').uploadify({
'uploader': '/media/js/uploadify/uploadify.swf',
'script': '/task/file_upload/',
'cancelImg': '/media/js/uploadify/cancel.png',
'auto': true,
'multi': true,
    'folder' : '/media/upload/',
    'removeCompleted': false,
    buttonImg: '/media/js/uploadify/button.jpg',
    scriptData: {'id': '/media/js/uploadify/'},
    onComplete: function(event,queueID,fileObj,response,data) {
               $('#fileInput'+queueID).append(response);
    },
    onCancel: function(event,ID, fileObj, data) {
        var filename = $('#fileInput'+ID+ ' input').val();
        $.ajax({
            type: "GET",
            url: "/task/file_delete/",
            data: "file=" + filename
        });
    }
});
});

function allComplete(event, data) {
    $('#uploadify').load('/task/upload_file/', {
        'filesUploaded': data.filesUploaded,
        'errorCount': data.errors,
        'allBytesLoaded': data.allBytesLoaded,
        'speed': data.speed
    });
    $('#uploadify').trigger('allUploadsComplete', data);
}
// ]]></script>


<div id="uploadify" class="multi-file-upload" style="position: relative; width:830px; display: table; margin-bottom:40px">
    <input id="fileInput" name="Filedata" type="file" />
    <span style="float:right; display: table;width: 700px; color:red; position: absolute;font-size:11px;top:-3px; right: 0px;">Внимание! Русские буквы и пробелы в имени загружаемого файла будут заменены на английский эквивалент. Максимальный объем загружаемого файла не должен превышать 20Mb. После загрузки файла нажмите кнопку «Сохранить».</span>
</div>

            </div>

            <div class="modal-footer">
                <input type="submit" class="btn  btn-large btn-success" value="Сохранить">
                <a data-dismiss="modal" class="btn" href="#">Отменить</a>
            </div>

        </form>
    </div>

    <div class="container-fluid">
        <div class="page-header">
            <div style="float: right; vertical-align:text-top;"> <a class="btn btn-large btn-warning" href="#AddTask" id="Add">Добавить поручение</a></div>
            <h1>Поручения    <small>на 01 июня 2013 г.</small></h1>
        </div>

        <form action="/action_task/" method="POST" multiple>
            <div id="task_box">
                <div id="scrollbar1">
                    <div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>
                    <div class="viewport">
                        <div class="overview">
                            
                            

<table id="task_list" class="table tablesorter ">
    <thead>
        <tr>
            
                <td><input type="checkbox" name="alls" value="all"></td>
            
            <th>Номер связи</th>
            <th>№</th>
            <th>Дата поручения</th>
            <th>Название поручения</th>
            <th>Приоритет</th>
            <th>% выполнения</th>
            <th>Срок исполнения</th>
            <th>Кем дано</th>
            <th>Оценка</th>
            <th>Комментарии</th>

        </tr>
    </thead>
   </table>

                            
                        </div>
                    </div>
                </div>
            </div>
            <div class="">
                <div style="vertical-align:text-top;">
                    <input name="delete" class="btn btn-danger" value="Удалить"  type="submit" style="margin-top: 7px" />
                    <input name="exportxls" value="Экспортировать в XLS" class="btn btn-primary" type="submit" style="margin-top: 7px" />
                    <!-- <input name="print" value="Отправить в печать" class="btn" type="submit" /> -->
                    <a href="/?print=1"
                        rel="/?print=1"
                        target="_blank" id="var_print"
                        class="btn btn-warning">Распечатать список</a>
                </div>
            </div>
        </form>
        
            <hr>
            <div id="task_detail">
                <center><h1>Выберите поручение из списка</h1></center>
            </div>
            <hr>
        
    </div>

</body>
</html>

4

Re: VBS: Кодировка вывода сообщений

Форма входа

<!DOCTYPE html>
<html lang="en">
<body>
<header>
<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container-fluid">
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </a>
            <div class="nav-collapse">
                
            </div>
        </div>
    </div>
</div>
</header>
<section>
<div class="container-fluid">


</div>
</section>
<section>
    <div class="container-fluid">
        <h3 style="color:#ce0000;float: left;"></h3>
        
    </div>
</section>

    <div class="container-fluid">
    <div class="page-header"> 
        <div id="content-main center">
<div style="margin-left:40%">
<form action="" method="post" id="login-form"><div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='AxagrNtg1XH8jh8vqPThvqACaTW0YZ1f' /></div>
    
    <div class="form-row">
        
        <label for="id_username"><b>Логин:</b></label> <input type="text" name="username" id="id_username" />
    </div>
    <div class="form-row">
        
        <label for="id_password"><b>Пароль:</b></label> <input type="password" name="password" id="id_password" />
        <input type="hidden" name="this_is_the_login_form" value="1" />
        <input type="hidden" name="post_data" value="" />
        <br>
        <span class="help"><a href="/register/">Зарегистрироваться</a>  || </span>
        <span class="help"><a href="/password_reset/">Я забыл пароль</a></span>
    </div>
    <div class="submit-row">
        <label>&nbsp;</label><input type="submit" class="btn btn-primary btn-large " value="Вход" />
    </div>
    <script type="text/javascript">
    document.getElementById('id_username').focus()
    </script>
</form>
</div></div>
    </div></div>

</body>
</html>

5

Re: VBS: Кодировка вывода сообщений

alexii пишет:

…ссылку…

6

Re: VBS: Кодировка вывода сообщений

К сожалению нет в общем доступе это крутится в локальной сети...

7

Re: VBS: Кодировка вывода сообщений

Может использовать Escape ???

Encode a string of text, "escaping" all characters that are not allowable in web url address strings.

Syntax
      Escape(String)

Key
   String    The string of text to convert to an encoded string for use with HTML data transfer.Note some web browsers will display URLs even without properly escaped characters. HTML with unescaped punctuation will fail validation.

Example

Option ExplicitDim strMessage
strMessage = "Sample text with (brackets) spaces & " & Chr(34) & "quotes" & Chr(34)

MsgBox strMessage& vbCR & Escape(strMessage), vbOkOnly+vbInformation, "Demo"

8

Re: VBS: Кодировка вывода сообщений

Я может не очень понял что надо, но с кодировкой можно попробовать ASCII...
Например "текст", будет как "chr(242)&chr(229)&chr(234)&chr(241)&chr(242)"..

По идее должно работать.. Или же использовать Escape, как написано участником badik, то "текст" будет написано как "%u0442%u0435%u043A%u0441%u0442"

Программист - это не профессия, а смысл жизни (с)

9 (изменено: xsanekk, 2013-06-14 12:11:50)

Re: VBS: Кодировка вывода сообщений

к сожалению не получается так....

в форму вводятся вместо русского текста кракозябры

10

Re: VBS: Кодировка вывода сообщений

А саму выдаваемую форму у Вас есть возможность подправить?
Например - объявить charset в ее <head>:

<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</HEAD>

WBR. Roman

11

Re: VBS: Кодировка вывода сообщений

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