Вверх ↑
Этот топик читают: Гость
Ответов: 5
Рейтинг: 0
#1: 2008-01-08 02:48:39 ЛС | профиль | цитата
Загружаю страничку в компонент WebBrowser после чего ищу в тексте страницы определённые строки и записываю их в другой компонент, например в список строк и вместо кирилицы одни кракозябры...как можно поправить чтобы русские буквы корректно отобразились? Пробовал втроенный конвертер, но ни одна из указанных перекодировок не помогла, так как страничка скорее всего в UTF8.
карма: 0

0
Ответов: 1305
Рейтинг: 29
#2: 2008-01-08 09:06:42 ЛС | профиль | цитата
Попробуй проделать то же самое при включенной русской раскладке клавиатуры
карма: 0

0
Ответов: 5
Рейтинг: 0
#3: 2008-01-08 11:02:51 ЛС | профиль | цитата
Попробовал, та же ерунда, а вот одна из строк текста которая пишется в массив строк: title="уровень 7">
Как видно английские символы корректно отображаются, а русские нет.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#4: 2008-01-08 11:07:22 ЛС | профиль | цитата
Ну, кто смелый, рассказать про относительность очевидности

карма: 9

0
Ответов: 5
Рейтинг: 0
#5: 2008-01-08 15:59:33 ЛС | профиль | цитата
По видимому смелых нет...пришлось ставить delphi, буду делать на ней, там есть функция конвертирования которой в 4м дельфи ещё нет. Идеально конечно компонент сделать для ХА, но я не нашёл пока как.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#6: 2008-01-08 16:44:30 ЛС | профиль | цитата
Ладно, повторюсь в 201-й раз

lepas, Ты излагаешь о существовании некой якобы баги.
Может она есть, может ее нет
Мы этого не знаем, поскольку НЕ МОЖЕМ сделать именно того, что и ты.
Потому-что ты не поставил себе в труд подумать над изложением в таком виде, чтобы это воспроизводилось с другой стороны сети
Про адекватность твоих выводов - даже и думать не начнем, пока не будет "воспроизводимости"
Это не требует верхнего образования, а лишь привычки думать о других кроме себя любимого.

Поэтому: с какой радости ты решил, что "найдутся смелые" подумать о твоих проблемах, если тебе в лом потратить 5 минут для других
А свою иронию можешь засунуть себе хоть в одно место - никому от этого хуже не станет, кроме тебя.

Про то, что мы якобы отпугиваем новичков, и скоро здесь останутся одни ассы - тоже гнать не надо.
Слышали уже (мы, вообще-то, многое слышали).
Отсутствие особо продвинутых пользователей, которые бесконечно убеждены, что мы обязаны видеть все, что происходит у них на экране - мы сумеем пережить
------------ Дoбавленo:

Кстати, это не только наша точка зрения:
http://forum.web-hack.ru/html/rules2.html
http://www.chiark.greenend.org.uk/~sgtatham/bugs-ru.html
карма: 9

0
Ответов: 5
Рейтинг: 0
#7: 2008-01-08 17:19:23 ЛС | профиль | цитата
code_8087.txt

Вот пример.
------------ Дoбавленo:

Специально для Galkov:
- покажи мне, где я сказал, что это бага?
- то, что ты "Админ" не даёт тебе права хамить
- не делай выводы за других, думай лучше за себя любимого
- покажи мне, где я писал, про отпугивание новичков и т.д.! ты вообще трезв?
- не надо про себя говорить во множественном числе, это уже пахнет манией величия
- и лично ты ничего по теме не написал, админ блин, только желчью набрызгал
- готов с тобой встретится в Москве в любое время, ты меня попугаешь, а я посмотрю - будет забавно
карма: 0

0
файлы: 1code_8087.txt [545B] [285]
Ответов: 1305
Рейтинг: 29
#8: 2008-01-08 17:45:56 ЛС | профиль | цитата
lepas писал(а):
готов с тобой встретится в Москве в любое время, ты меня попугаешь, а я посмотрю - будет забавно

Повзрослее нужно быть, юноша, чай не в цирке
карма: 0

0
Ответов: 9906
Рейтинг: 351
#9: 2008-01-08 18:26:59 ЛС | профиль | цитата
v258, да ладно, фиг с ним - мне не привыкать (я же про 200 не шутил)

Не дойдет до мальчика, где-нибудь на другом профессиональном форуме получит по самое нихочу - его проблемы
Вроде же ссылки дал: там такие ответы приведены (да и наблюдал их кстати тоже...), что мое "обхамил" - просто беседа Лондонского Аристократа.

Хотя "смелых" сказать то же самое за меня (несмотря на предложение) - как-то большого наплыва не заметил
Даже среди тех, которые считают, что "профессионалы" давно оторвались от народа

По делу: теперь хоть ясно что вопрос именно в конверторе utf8 в ansi для некоторой выбранной локали
И больше ни в чем.
Тоже ведь редкий случай: пример все-таки выложен. Чаще - море слюны
Что вселяет надежду: "Покойник перед смертью потел, что является фактором обнадеживающим..."

Мне делать - неохота (да и некогда).
Несмотря на то, что и в POP3_Parse это давно просится.
Хотя по теории, делов должно быть на одну айпю... Вроде бы...
Еще раз: смелые есть

карма: 9

0
Ответов: 5
Рейтинг: 0
#10: 2008-01-08 23:13:11 ЛС | профиль | цитата
Вопрос решил путём написания нового элемента, может кому ещё пригодиться, вот исходники
ini: code_8088.txt

code:
code_8089.txt

Проверил, работает.
------------ Дoбавленo:

Оффтопик

v258 писал(а):
Повзрослее нужно быть, юноша, чай не в цирке

Согласен, но за "базаром" тоже следить надо. Он даже не извенился за то что написал в посте №6. Я до его поста на форуме успел написать всего три сообщения и все они в этом посте, выше - пусть обоснует свои наезды!

Galkov: За мальчика спасибо, лесть, а приятно . В посте №6 ты был не прав и сам понимаешь это, так что либо обоснуй свой наезд, либо извинись. В любом случае мы с тобой тут побрезжим и разбежимся, но по жизни думаю тебе есть над чем задуматься, ты же у нас умный парень. Так как если мне на другом форуме насуют по самое нихочу я это как нибуть переживу, а вот ты такими темпами рискуешь на реальные люли нарваться - у тебя есть все шансы, продолжать в том же духе или нет - решать тебе.
В любом случае желаю тебе и другим кто читает удачи в новом году!
карма: 0

0
файлы: 2code_8088.txt [371B] [312], code_8089.txt [2.1KB] [339]
Ответов: 9906
Рейтинг: 351
#11: 2008-01-08 23:43:47 ЛС | профиль | цитата
lepas писал(а):
В посте №6 ты был не прав и сам понимаешь это

В посте №6 я прав. И причин для извинений не вижу
Исходные данные, для "воспроизводства баги" приведено не было.
Отсюда все следует.
Общепринято (не у нас как раз вовсе - походи по выложенным ссылкам, почитай примеры ответов, может умнее станешь) в таких случаях сообщать RTFM, и закрывать тему
Что дословно означает: Read The Fucking Manual

Я могу конечно прокомментировать каждую строчку, но мне это не интересно.
Нет у меня цели убедить кого-то в чем-то, или как-то себя показать.
Необходимости в этом не испытываю.
Не понимаешь - ну и хорошо, твои проблемы



P.S. Просьба не делать больше личных обращений. Удалю просто.
DIXI
карма: 9

0
Ответов: 5227
Рейтинг: 587
#12: 2008-01-08 23:52:43 ЛС | профиль | цитата
вот типа хотел что то вроде конвертора слепить а глядь тут уже компонент написали ;) круто, но схему всё же выложу для примера может кому в будущем пригодится (правда будет работать со строками в которых кроме кирилицы не чего нет) ну ведь это только пример....

code_2066.txt
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_2066.txt [2.5KB] [563]
Ответов: 9906
Рейтинг: 351
#13: 2008-01-08 23:58:21 ЛС | профиль | цитата
Где тот самый nesco, который рвал рубаху на груди, что не может человек разбираться в HiAsm, не посещая форума
карма: 9

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#14: 2008-01-09 00:07:43 ЛС | профиль | цитата
Galkov, а причем здесь HiAsm и написание кодов? Тем не менее, чел, все же, посетил форум и задал вопрос.
карма: 22

0
Ответов: 9906
Рейтинг: 351
#15: 2008-01-09 11:48:45 ЛС | профиль | цитата
Для тех, кто хочет выложить на SVN: вот немного "причесанный" вариант (от коллеги lepas), и работающий под FPC
nesco, ты кажется тоже где-то дельфячий WideCharToString юзал...


Add(MainForm,15194538,42,84)
{
Left=10
Top=10
Position=1
link(onCreate,836762:doSearch,[])
}
Add(StrList,13871442,98,42)
{
Strings=#102:<title>Травиан - онлайн игра – Римляне, Галлы, Германцы</title>|
}
Add(BlockFind,836762,98,119)
{
IncludeBlock=1
StartBlock="<title>"
EndBlock="</title>"
link(onSearch,2591357:doUTF8,[])
link(Text,13871442:Text,[])
}
Add(Memo,14969934,210,119)
{
Left=10
Top=15
Width=365
Height=230
ScrollBars=3
}
Add(InlineCode,2591357,154,119)
{
WorkPoints=#6:doUTF8|
EventPoints=#6:onUTF8|
VarPoints=#6:Result|
DataPoints=#3:Str|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|19: FResult:String;|11: public |18: Str:THI_Event;|21: onUTF8:THI_Event;|0:|50: procedure doUTF8(var _Data:TData; Index:word);|50: procedure Result(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|45:{Convert string from UTF-8 format into ASCII}|42:function UTF8ToStr(Value: String): String;|3:var|18: buffer: Pointer;|18: BufLen: integer;|5:begin|15: Result := ';|67: BufLen := MultiByteToWideChar(CP_UTF8, 0, @Value[1], -1, nil, 0);|26: if BufLen < 1 then exit;|27: GetMem(buffer, 2*BufLen);|65: MultiByteToWideChar(CP_UTF8, 0, @Value[1], -1, buffer, BufLen);|84:// Result := WideCharToString(buffer); //под FPC не работает эта фигня правильно :(|61: BufLen := WideCharToMultiByte(3,0,buffer,-1,nil,0,nil,nil);|26: if BufLen > 1 then begin|31: SetLength(Result,BufLen-1);|65: WideCharToMultiByte(3,0,buffer,-1,@Result[1],BufLen,nil,nil);|6: end;|18: FreeMem(buffer);|4:end;|0:|78:{Convert string from UTF-8 format mixed with standart ASCII symbols($00..$7f)}|47:function UTF8ToStrSmart(Value: String): String;|3:var|17: i,Len: integer;|14: HByte: Byte;|5:begin|15: Result := ';|26: if Value = ' then Exit;|43: i := 1; while i <= Length(Value) do begin|27: HByte := Ord(Value[i]);|30: //Get length of UTF-8 char|45: if HByte and $FC = $FC then Len := 6|45: else if HByte and $F8 = $F8 then Len := 5|45: else if HByte and $F0 = $F0 then Len := 4|45: else if HByte and $E0 = $E0 then Len := 3|45: else if HByte and $C0 = $C0 then Len := 2|14: else begin|34: Result := Result + Value[i];|13: Inc(i);|15: Continue;|8: end;|52: Result := Result + UTF8ToStr(Copy(Value,i,Len));|15: Inc(i,Len);|6: end;|4:end;|0:|79://function StringToWideString(const s: AnsiString; codePage: Word): WideString;|73:function StringToWideString(const s: String; codePage: Word): WideString;|17:var l: integer;|5:begin|30: if s = ' then Result := '|13: else begin|83: l := MultiByteToWideChar(codePage, MB_PRECOMPOSED, PChar(@s[1]), -1, nil, 0);|31: SetLength(Result, l - 1);|19: if l > 1 then|103: MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@s[1]), -1, PWideChar(@Result[1]), l - 1);|7: end;|27:end; { StringToWideString }|0:|0:|29:procedure THiAsmClass.doUTF8;|5:begin|51: FResult := UTF8ToStrSmart(ReadString(_Data,Str));|41: _hi_CreateEvent(_Data,@onUTF8,FResult);|4:end;|0:|29:procedure THiAsmClass.Result;|5:begin|26: dtString(_Data,FResult);|4:end;|0:|4:end.|
link(onUTF8,14969934:doAdd,[])
}
карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)