Jak przekazywać polskie znaki przy pomocy twebbrowser?

Odpowiedz Nowy wątek
2011-07-25 13:33
feff87
0

Witam,
W jaki sposób mogę przekazywać polskie znaki przez TwebBrowser? Przykładowo
WebBrowser1.OleObject.Document.GetElementById('user_pass').Value:=Edit7.text;
Wstawi mi do okienka o id user_pass na stronie krzaczki w miejscu gdzie w edicie wpisałem polskie znaki...
Czy jest jakaś możliwość naprawienia tego?
Z góry dziękuję za pomoc

edytowany 1x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-07-25 16:03
0

podejrzewam, że masz kodowanie strony nie w win1250


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2011-07-25 16:52
feff87
0

Niestety nie mam na to wpływu , ponieważ strony na których chce wstawiać dane ( skrypty Wordpress) nie należą do mnie. Jest jakiś sposób na zmianę kodowania w programie aby było ono zgodne z tym na stronie i nie wyświetlało krzaczków?
Pozdrawiam

Pozostało 580 znaków

2011-07-25 18:28
0

spróbuj Edit7.text przed wysłaniem zakodować do UTF-8.
a najlepiej pokaż print-screena tych krzaczków, to się ustali jakiego kodowania się strona spodziewa.

edytowany 1x, ostatnio: Azarien, 2011-07-25 18:28

Pozostało 580 znaków

2011-07-26 10:54
feff87
0

Witam,
Wklejam przykładowego screena:
user image
Na górze mamy to co wpisuję czyli polskie litery i krzaczki które są podstawiane w miejsce danego elementu o danym ID przez twebbrowser.

Dodam, że troszkę szperałem i znalazłem taki temat http://forum.ks-ekspert.pl/topic/104424-windows-1250-utf-8/pageviewfindpostp753490

Jednak od razu mówię, że to nie działa: Przykładowo ciąg znaków:ąęćż zostaje przekonwertowany do ¹êĂ|Âż jednak na stronie otrzymuje po prostu te same znaczki czyli :¹êĂ|Âż

Możliwe, że przyjąłem złe kodowanie ale na stronie mam na 1000% utf8 natomiast na logikę przyjąłem, że w delphi obowiązuje win 1250.Jeśli się mylę prosze mnie poprawić.

Bardzo prosze o pomoc ponieważ napisałem praktycznie całą aplikację, która jest bezużyteczne przez taką głupią niedoskonałość
Pozdrawiam

Pozostało 580 znaków

2011-07-26 11:36
0

Wklejam przykładowego screena:

Nie jest dobrze. Wysyłasz cp1250, ale formularz spodziewa się cp1252. Który polskich liter nie ma.

Możesz wyjawić nam jak robisz taką magię że zgadujesz kodowanie? - payl 2011-07-26 12:42
„na oco”. bez magii — po prostu rozpoznaję. - Azarien 2011-07-26 19:18

Pozostało 580 znaków

2011-07-26 14:12
feff87
0

Więc w jaki sposób mam wykonać poprawki w programie aby polskie litery wyświetlały się prawidłowo?

Z góry dziękuję za pomoc.
Pozdrawiam

Pozostało 580 znaków

2012-03-27 13:45
olkomp
0
feff87 napisał(a)

Więc w jaki sposób mam wykonać poprawki w programie aby polskie litery wyświetlały się prawidłowo?

Z góry dziękuję za pomoc.
Pozdrawiam

Witam ja też widzę ten problem gdy tworze programik którym edytuję stronę np. html i mam zakładkę z podglądem a na podglądzie wywala mi...
przy kodowaniu znaków w Utf-8 w słowie Treść ść zamienia na jakieś kwadraciki
natomiast przy kodowaniu iso-8859-2 wychodzi coś takiego Treć (zjada literkę ś)
Na razie dałem sobie przycisk który zmienia mi wszystkie polskie znaki na Unicode :
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Memo1.text := StringReplace(Memo1.Text, 'ą', 'ą', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ć', 'ć', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ę', 'ę', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ł', 'ł', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ń', 'ń', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ó', 'ó', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ś', 'ś', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ż', 'ż', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'ź', 'ź', [rfReplaceAll]);

Memo1.text := StringReplace(Memo1.Text, 'Ą', 'Ą', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ć', 'Ć', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ę', 'Ę', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ł', 'Ł', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ń', 'Ń', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ó', 'Ó', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ś', 'Ś', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ż', 'Ż', [rfReplaceAll]);
Memo1.text := StringReplace(Memo1.Text, 'Ź', 'Ź', [rfReplaceAll]);
end;

można to wykorzystać aby zmieniał je w tzw. "locie" podobnie wykorzystałem kiedyś w skrypcie PHP gdzie przy wysłaniu formularza automatycznie zamieniał polskie znaki na Unicode :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0