Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: CL | DM;

Вниз

"Кракозябры" вместо русских букв при получении HTMLa WEBстраницы   Найти похожие ветки 

 
__DATA__   (2007-04-12 07:43) [0]

Получаю HTML код WEB страницы так :


function GetHTMLSource(URL: String): String;
begin
 try
   Result := "";
   NMHTTP.Get(URL);
   Result := NMHTTP.Body;
 except

 end;
end;


Функция возвращает HTML в котором вместо русских букв отображаются "кракозябры", как решить проблемму с отображением русских символов?


 
clickmaker ©   (2007-04-12 09:58) [1]

кодировка какая у Body?


 
__DATA__   (2007-04-12 12:00) [2]


> clickmaker ©   (12.04.07 09:58) [1]


А как посмотреть?


 
__DATA__   (2007-04-12 12:04) [3]

Обрабатываю вот эту страницу http://alfa.kz/forum/shs/?forum_id=9


 
clickmaker ©   (2007-04-12 12:10) [4]

<META http-equiv="Content-Type" content="text/html; charset=koi8-r">

см. NMHTTP.Header


 
__DATA__   (2007-04-12 12:18) [5]


> clickmaker ©   (12.04.07 12:10) [4]


NMHTTP.Header =

HTTP/1.1 200 OK
Date: Thu, 12 Apr 2007 08:17:40 GMT
Server: Apache
X-Powered-By: PHP/4.4.6
Last-Modified: Thu, 12 Apr 2007 08:17:40 GMT
Set-Cookie: PHPSESSID=f74d71fe392d1bb500e87047af76c82c; expires=Thu, 12 Apr 2007 11:17:40 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Content-Type: text/html; charset=koi8-r


 
clickmaker ©   (2007-04-12 12:20) [6]


> [5] __DATA__   (12.04.07 12:18)

ну вот, видишь там charset?


 
__DATA__   (2007-04-12 12:23) [7]


> clickmaker ©   (12.04.07 12:20) [6]


Спасибо разобрался!



function GetHTTP(URL: String): String;
type
 TConvertChars = array[ #128..#255] of char;

const
 Win_KoiChars: TConvertChars = (
#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#060,#139,#140,#141,#142,#143,
#144,#145,#146,#147,#148,#169,#150,#151,#152,#153,#154,#062,#176,#157,#183,#159,
#160,#246,#247,#074,#164,#231,#166,#167,#179,#169,#180,#060,#172,#173,#174,#183,
#156,#177,#073,#105,#199,#181,#182,#158,#163,#191,#164,#062,#106,#189,#190,#167,
#225,#226,#247,#231,#228,#229,#246,#250,#233,#234,#235,#236,#237,#238,#239,#240,
#242,#243,#244,#245,#230,#232,#227,#254,#251,#253,#154,#249,#248,#252,#224,#241,
#193,#194,#215,#199,#196,#197,#214,#218,#201,#202,#203,#204,#205,#206,#207,#208,
#210,#211,#212,#213,#198,#200,#195,#222,#219,#221,#223,#217,#216,#220,#192,#209) ;
 Koi_WinChars: TConvertChars = (
#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,
#144,#145,#146,#147,#148,#149,#150,#151,#152,#153,#218,#155,#176,#157,#183,#159,
#160,#161,#162,#184,#186,#165,#166,#191,#168,#169,#170,#171,#172,#173,#174,#175,
#156,#177,#178,#168,#170,#181,#182,#175,#184,#185,#186,#187,#188,#189,#190,#185,
#254,#224,#225,#246,#228,#229,#244,#227,#245,#232,#233,#234,#235,#236,#237,#238,
#239,#255,#240,#241,#242,#243,#230,#226,#252,#251,#231,#248,#253,#249,#247,#250,
#222,#192,#193,#214,#196,#197,#212,#195,#213,#200,#201,#202,#203,#204,#205,#206,
#207,#223,#208,#209,#210,#211,#198,#194,#220,#219,#199,#216,#221,#217,#215,#218) ;

function Win_KoiConvert(const St: string): string;
var i: integer;
begin
 Result:=St;
 for i:=1 to Length(St) do
 if St[i]>#127 then
   Result[i]:=Koi_WinChars[St[i]];
end;

begin
 try
   Result := "";
   NMHTTP.Get(URL);
   Result := Win_KoiConvert(NMHTTP.Body);
 except

 end;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.04 c
15-1178977743
parus
2007-05-12 17:49
2007.06.10
Заценните сайт


2-1179481989
LoRd1
2007-05-18 13:53
2007.06.10
Завершение работы (удаление) приложения


15-1178788010
elserpiente
2007-05-10 13:06
2007.06.10
Профайлер под BDS2006


15-1179157157
Ricks
2007-05-14 19:39
2007.06.10
На что надеются авторы компонентов для delphi?


1-1176412599
Tack
2007-04-13 01:16
2007.06.10
Конвертирование текста в SGML (UTF-8) с кодированием спецсимволов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский