Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / В какой кодировке ASP-Script получает данные от MS SQL-server ? / 5 сообщений из 5, страница 1 из 1
11.05.2006, 20:47
    #33721490
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В какой кодировке ASP-Script получает данные от MS SQL-server ?
В 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
12.05.2006, 12:47
    #33722688
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В какой кодировке ASP-Script получает данные от MS SQL-server ?
Для строки: "Полсотни лет.doc" ( без кавычек)
ASP генерит хэш:

e9cbdc4e66908a4ba2cddceceda020550afc46a6fd5ee336d4493e593b39a67c

А ASP.NET :

6f0fbc3f150e26de173eefc571fc41b777c6ac5b2f85cd0361684df5874b47bf

И как я тока не пытался в каких только кодировках - не могу в .NET получить такой хэш. Я не знаю на базе чего это генерится...
...
Рейтинг: 0 / 0
12.05.2006, 15:59
    #33723422
Dats
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В какой кодировке ASP-Script получает данные от MS SQL-server ?
От SQL Server скорее всего вы получаете 1251. Вот и не сходятся.
...
Рейтинг: 0 / 0
12.05.2006, 16:57
    #33723637
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В какой кодировке ASP-Script получает данные от MS SQL-server ?
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
12.05.2006, 17:25
    #33723731
M234
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В какой кодировке ASP-Script получает данные от MS SQL-server ?
Andres 1
Т.к. asp никогда не занимался, то не знаю - возможно ли такое - но посоветую попытаться записать содержимое doc.Fields.Item("doc_data_name").value в файл на диске, а потом просто посмотреть глазами - что же там за кодировка.
Ну или вывести hex-dump этого value на страницу.

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


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