Как перекодировать текст из windows в дос средствами ASP?
От: pingwin  
Дата: 18.08.04 08:37
Оценка:
Есть веб интерфейс к БД (ms sql server), сделан на asp. После того как сделана выборка данных, необходимо некоторые поля recordset-a перекодировать из виндовс кодировки (ANSI) в дос (ASCII). Я так понимаю что средствами transact sql сделать это не получится, поэтому спрашиваю: как сделать это средствами ASP? Есть в %windir%\system32\user32.dll функция, делающая то что мне нужно, но как ее использовать из asp?

18.08.04 14:45: Перенесено модератором из 'ASP.NET' — TK
Re: Как перекодировать текст из windows в дос средствами ASP
От: Andir Россия
Дата: 18.08.04 08:42
Оценка:
Здравствуйте, pingwin, Вы писали:

P>Есть веб интерфейс к БД (ms sql server), сделан на asp. После того как сделана выборка данных, необходимо некоторые поля recordset-a перекодировать из виндовс кодировки (ANSI) в дос (ASCII). Я так понимаю что средствами transact sql сделать это не получится, поэтому спрашиваю: как сделать это средствами ASP? Есть в %windir%\system32\user32.dll функция, делающая то что мне нужно, но как ее использовать из asp?


Используй ADODB.Stream.
Правда из-за очередной дырки в IE, последний патч запрещает использование этого объекта на клиентах Поэтому рекомендуется к использованию, только в серверных скриптах.

C Уважением, Andir!
Re[2]: Как перекодировать текст из windows в дос средствами
От: pingwin  
Дата: 18.08.04 09:20
Оценка:
Здравствуйте, Andir, Вы писали:


A>Используй ADODB.Stream.

A>Правда из-за очередной дырки в IE, последний патч запрещает использование этого объекта на клиентах Поэтому рекомендуется к использованию, только в серверных скриптах.

Можно чуть подробнее? А то я пока даже не найду инфы на ADODB.Stream...
Re[3]: Как перекодировать текст из windows в дос средствами
От: Andir Россия
Дата: 18.08.04 09:22
Оценка: 2 (1)
Здравствуйте, pingwin, Вы писали:

P>Можно чуть подробнее? А то я пока даже не найду инфы на ADODB.Stream...


Вот здесь
Автор: Andir
Дата: 10.06.04
есть пример преобразования с одной кодировки в другую.

C Уважением, Andir!
GDN: как перекодировать текст из windows в дос средствами as
От: Аноним  
Дата: 18.08.04 08:49
Оценка:
В asp.net это делается примерно так
  private string Win1251ToUTF8(string source)
  {
   if( source.Length > 0 )
   {
    Encoding win1251 = Encoding.GetEncoding("windows-1251");
    byte[] srcBytes = Encoding.UTF8.GetBytes(source);
    byte[] dstBytes = Encoding.Convert(win1251, Encoding.UTF8, srcBytes);
    source = Encoding.UTF8.GetString(dstBytes);
   }
   return source;
  }
пример для перевода из windows-1251 в UTF8, но из любой в любую делается по аналогии
Уточни тебе надо для асп или для .net?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: GDN: как перекодировать текст из windows в дос средствам
От: Gollum Россия  
Дата: 18.08.04 09:53
Оценка:
Здравствуйте, Nisus, Вы писали:

N>Уточни тебе надо для асп или для .net?


По словам асп и рекордсет я думаю можно догадаться, что это асп.
В лучших книгах всегда нет имен, и в лучших картинах — лиц
Eugene Agafonov on the .NET

Re[2]: GDN: как перекодировать текст из windows в дос средст
От: pingwin  
Дата: 18.08.04 09:57
Оценка:
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, Nisus, Вы писали:


N>>Уточни тебе надо для асп или для .net?


G>По словам асп и рекордсет я думаю можно догадаться, что это асп.


Вы абсолютно правы.
Re[4]: Как перекодировать текст из windows в дос средствами
От: pingwin  
Дата: 18.08.04 14:35
Оценка:

aStream.Charset = "windows-1251"
objStream.Charset = "ascii"
objStream.writetext e(0)
aStream.writetext e(1)
aStream.position = 0
aStream.copyto objstream, astream.size


допустим е(1)="альфа12",а е(0) то же, только в дос кодировке, то получим нечто в роде "?????12????12"

что я делаю не так?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.