Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
4:02:2008, 14:02
|
|
Новенький ![]() Группа: Программист Сообщений: 64 Регистрация: 3:06:2006 Пользователь №: 4 574 Специализация: Программирование, анализ, алгоритмы, оптимизация Репутация: 1
|
Испольую метод IdHTTP.GET для принятия исходного кода страницы. Если принимается русский текст, то отображается иероглифами. Так и не понял, как это исправить.
|
|
Сообщение
#1
|
|
![]() |
|
|
4:02:2008, 14:19
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
Цитата(Froex @ 4:02:2008, 16:02 ) отображается иероглифами Где? |
|
Сообщение
#2
|
|
|
|
4:02:2008, 14:25
|
|
Новенький ![]() Группа: Программист Сообщений: 64 Регистрация: 3:06:2006 Пользователь №: 4 574 Специализация: Программирование, анализ, алгоритмы, оптимизация Репутация: 1
|
Код ... IdHTTP1.Get('http://www.aaaaaa.ru/index.html',response); temp:=response.datastring; memo.text:=temp; ... в результате показываются вместо русских букв иероглифы типа Профиль |
|
Сообщение
#3
|
|
|
|
4:02:2008, 14:29
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 740 Регистрация: 11:01:2007 Пользователь №: 8 750 Специализация: specialist Репутация: 27
|
если данные идут в юникоде, то ищите юникодовое мемо, да и ваще
http://www.google.com/search?hl=en&q=d...nicode+controls |
|
Сообщение
#4
|
|
|
|
4:02:2008, 14:32
|
|
Новенький ![]() Группа: Программист Сообщений: 64 Регистрация: 3:06:2006 Пользователь №: 4 574 Специализация: Программирование, анализ, алгоритмы, оптимизация Репутация: 1
|
Сейчас посмотрю. Просто я думал, что дело в настройках IdHTTP
|
|
Сообщение
#5
|
|
|
|
8:02:2008, 07:06
|
|
Новенький ![]() Группа: Программист Сообщений: 64 Регистрация: 3:06:2006 Пользователь №: 4 574 Специализация: Программирование, анализ, алгоритмы, оптимизация Репутация: 1
|
Ничего не понял из поиска. Сделал свои функции. Банально, конечно, но действует.
Код unit Convert;
interface function UTFToWin(Str: string): string; function WinToUTF(Str: string): string; implementation const UTF: array[1..66] of string = ( 'Р°','Р±','РІ','Рі','Рґ','Рµ','С‘','Р¶','Р·','Рё', 'Р№','Рє','Р»','Рј','РЅ','Рѕ','Рї','С€','С�','С‚', 'Сƒ','С„','С…','С†','С‡','Сˆ','С‰','СŠ','С‹','СŒ', 'С�','СŽ','С�','Р�','Р‘','Р’','Р”','Р”','Р•','Р�', 'Р–','Р—','Р˜','Р™','Рš','Р›','Рœ','Р�','Рž','РŸ', 'Р ','РЎ','Рў','РЈ','Р¤','РҐ','Р¦','Р§','РЁ','Р©', 'РЄ','Р«','Р¬','Р','Р®','РЇ'); Win: array[1..66] of string = ( 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я'); function UTFToWin(Str: string): string; var i,j:integer; temp:string; begin temp:=''; i:=1; while i<=length(str) do begin for j:=1 to 66 do begin if (str[i]+str[i+1])=UTF[j] then begin temp:=temp+Win[j]; i:=i+1; break; end else if j=66 then temp:=temp+str[i]; end; i:=i+1; end; UTFToWin:=temp; end; function WinToUTF(Str: string): string; var i,j:integer; temp:string; begin temp:=''; i:=1; while i<=length(str) do begin for j:=1 to 66 do begin if str[i]=Win[j] then begin temp:=temp+UTF[j]; break; end else if j=66 then temp:=temp+str[i]; end; i:=i+1; end; WinToUTF:=temp; end; end. Сообщение отредактировал Froex - 8:02:2008, 07:09 |
|
Сообщение
#6
|
|
![]() |
|
Текстовая версия | Сейчас: 17:05:2008 - 10:38 |