powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / В какой кодировке ASP-Script получает данные от MS SQL-server ?
5 сообщений из 5, страница 1 из 1
В какой кодировке ASP-Script получает данные от MS SQL-server ?
    #33721490
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ASP скрипте:

Set doc = Server.CreateObject("ADODB.Recordset")
doc.ActiveConnection = document_STRING
doc.Source = v_sql
doc.CursorType = 3
doc.CursorLocation = 2
doc.LockType = 1
doc.Open()

v_key = SHA256(doc.Fields.Item("doc_data_name").value)

Как не сложно догодаться в последней строке генерится хэш на базе считанного имени документа. Имя документа записывалось в БД уникодом, т.е. так "VALUES(N'имя документа',... "

Теперь в ASP.NET скрипте вычисляю хэш

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
string FName = NameReader["doc_data_name"].ToString();
byte[] ContentBytes = System.Text.Encoding.UTF8.GetBytes(FName);
byte[] b = (new SHA256Managed().ComputeHash(ContentBytes));
      StringBuilder Hex = new StringBuilder(b.Length * 2);
                                      foreach (byte bit in b)
                                        {
                                            if (bit.ToString("x").Length == 1)
                                            {
                                                Hex.Append("0" + bit.ToString("x"));
                                            }
                                            else
                                            {
                                                Hex.Append(bit.ToString("x"));
                                            }
                                        }                                        

                                        string key = Hex.ToString().ToLower();

И что вы думаете ? Правильно, вычисленные значения не сходятся !
Как я уже не подгонял, никак не получается получить одинаковые значения...
Как быть то ? Варианты есть у кого ? Помогите пжалста.
...
Рейтинг: 0 / 0
В какой кодировке ASP-Script получает данные от MS SQL-server ?
    #33722688
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для строки: "Полсотни лет.doc" ( без кавычек)
ASP генерит хэш:

e9cbdc4e66908a4ba2cddceceda020550afc46a6fd5ee336d4493e593b39a67c

А ASP.NET :

6f0fbc3f150e26de173eefc571fc41b777c6ac5b2f85cd0361684df5874b47bf

И как я тока не пытался в каких только кодировках - не могу в .NET получить такой хэш. Я не знаю на базе чего это генерится...
...
Рейтинг: 0 / 0
В какой кодировке ASP-Script получает данные от MS SQL-server ?
    #33723422
Dats
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От SQL Server скорее всего вы получаете 1251. Вот и не сходятся.
...
Рейтинг: 0 / 0
В какой кодировке ASP-Script получает данные от MS SQL-server ?
    #33723637
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DatsОт SQL Server скорее всего вы получаете 1251. Вот и не сходятся.

Так тоже не выходит.

Код: plaintext
1.
   byte[] ContentBytes = System.Text.Encoding.GetEncoding(1251).GetBytes(FName);
   byte[] ContentBytes = System.Text.Encoding.Unicode.GetBytes(FName);
...
Рейтинг: 0 / 0
В какой кодировке ASP-Script получает данные от MS SQL-server ?
    #33723731
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andres 1
Т.к. asp никогда не занимался, то не знаю - возможно ли такое - но посоветую попытаться записать содержимое doc.Fields.Item("doc_data_name").value в файл на диске, а потом просто посмотреть глазами - что же там за кодировка.
Ну или вывести hex-dump этого value на страницу.

При первой попытки скрипт выпал в осадок.
Только после того как я сказал открыть файл для записи в Unicode он мне туда всё как надо записал.
А именно : "Полсотни лет.doc"
Но что это за юникод ? и почему в .net никакие варианты не проходят ?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / В какой кодировке ASP-Script получает данные от MS SQL-server ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]