Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Круглый стол
  
Правила КС
>> Настройки

Фильтр вопросов
>> Новые вопросы
отслеживать по
>> Новые ответы

Избранное

Страница вопросов
Поиск по КС


Специальные проекты:
>> К л ю к в а
>> Г о л о в о л о м к и

Вопрос №

Задать вопрос
Off-topic вопросы

Помощь

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  13:02[Войти] | [Зарегистрироваться]
Ответ на вопрос № 63280

22-06-2008 09:43
Здравствуйте. Не смог найти нигде.
С помощью idHTTP получаю страничку в кодировке UTF-8, естественно если вставить этот текст к примеру в memo то там будут одни кракозябры. Как можно перевести текст из кодировки UTF-8 в WIN-1251? Или может надо копатся в настройка idHTTP?
Заранее спасибо!

[+] Добавить в избранные вопросы

Отслеживать ответы на этот вопрос по RSS

Ответы:


Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице.
Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.

03-11-2014 12:30
А если писать обратную, то, видимо будет что-то такое, исходя из принципа преобразования:
$C0..$DF,$E0..$FF:pR^:=Wrd+$0350;
значит, обратный процесс - все двухбайтные значения
($0350+$C0)..($0350+$DF),($0350+$E0)..($0350+$FF)
преобразовать, вычтя из них $0350. Но могут быть нюансы

03-11-2014 12:25
Понял, Вы не о той функции...
Вот эти посмотрите:
WideCharToMultiByte
MultiByteToWideChar
- перевод между юникодом и Ansi, а в дополнение - функции преобразования с UTF8

03-11-2014 12:17
функция function RussianToUnicode(S: String): String; я так понял самописная, как можно обратно строку преобразовать?

03-11-2014 12:10
>>>А как наоборот преобразовать, то есть обратную функцию сделать?
1. Глянуть в справку. Если нет, то:
2. Подумать, а как могла бы называть обратная функция
3. Открыть исходники VCL и за 2 секунды найти обе функции, лежащие
в соседних строках
4. Прочитать данную ветку с самого начала

03-11-2014 11:58
Спасибо отличная функция. А как наоборот преобразовать, то есть обратную функцию сделать?

07-09-2009 18:36 | Комментарий к предыдущим ответам
пишу на дельфи 7 индюк 9  может  кому  понадобится проблему  решил 
  при передаче  POST_ом xml документа с  русскими вставками


xml:=system.AnsiToUtf8(xml);
Params.Text:=xml;
result:= form1.http.Post(url,Params);


задача была передать в кодировке win 1251

26-03-2009 18:46
Ничего нормального и внятного не нашел, разобрался в сути проблемы, оказывается инди 10 на делфи 2009 не переводит в юникод, а только к тому что получает, второй байт каждого символа добивает нулями чтобы выровнять под 2 байта юникода. Для английского языка это нормально, а для всех остальных - смерть.

покопался и в итоге нашел элегантное решение замены испорченых русских символов в юникодовскую кодировку. (String- подразумевается UnicodeString, работает только для символов русского алфавита)

function RussianToUnicode(S: String): String;
var Wrd:Word;
  pW,pR:PWord;
  len:Integer;
begin
  pW:=@S[1];
  len:=Length(S);
  SetLength(Result,len);
  pR:=@Result[1];
  while Len<>0 do begin
    Wrd:=pW^;
    case Wrd of
      $C0..$DF,$E0..$FF:pR^:=Wrd+$0350;
      else pR^:=Wrd;
    end;
    inc(pW);
    inc(pR);
    dec(Len);
  end;
end;

12-11-2008 08:23
СПАСИБО!

22-06-2008 14:33 | Сообщение от автора вопроса
Огромнейшее спасибо!

22-06-2008 10:52
Функция UTF8ToAnsi.

Добавьте свое cообщение

Вашe имя:  [Войти]
Ваш адрес (e-mail):На Королевстве все адреса защищаются от спам-роботов
контрольный вопрос:
Какой месяц идет после марта?
в качестве ответа на вопрос или загадку следует давать только одно слово в именительном падеже и именно в такой форме, как оно используется в оригинале.
Надоело отвечать на странные вопросы? Зарегистрируйтесь на сайте.
Тип сообщения:
Текст:
Жирный шрифт  Наклонный шрифт  Подчеркнутый шрифт  Выравнивание по центру  Список  Заголовок  Разделительная линия  Код  Маленький шрифт  Крупный шрифт  Цитирование блока текста  Строчное цитирование
  • вопрос Круглого стола № XXX

  • вопрос № YYY в тесте № XXX Рыцарской Квинтаны

  • сообщение № YYY в теме № XXX Базарной площади
  • обсуждение темы № YYY Базарной площади
  •  
     Правила оформления сообщений на Королевстве

    Страница избранных вопросов Круглого стола.
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования