Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Kyrillisch und HTTPEncode Probleme (https://www.delphipraxis.net/163186-kyrillisch-und-httpencode-probleme.html)

delphinia 18. Sep 2011 21:20

Delphi-Version: 5

Kyrillisch und HTTPEncode Probleme
 
Hi um Kyrillisch an den Browser zu übergeben würde ich diese gerne vorher codieren... nur klappt das nicht mit HTTPEncode() -- welches ich für Normale Buchstaben verwende zumbeispiel ÖÄÜ etc... wie bekomme ich das kodiert das auch die übergabe per URL einwandfrei ist?

mjustin 19. Sep 2011 06:40

AW: Kyrillisch und HTTPEncode Probleme
 
Zum Beispiel mit Indy UrlEncode

Delphi-Quellcode:
uses
  IdURI;

..
begin
  S := TIdURI.URLEncode(str);
//
  S := TIdURI.URLDecode(str);
end;
oder mit Synapse:

Delphi-Quellcode:
uses
  SynaCode;
..
begin
  s := EncodeUrl( str );
//
  s := DecodeUrl( str );
end;
Gefunden in
http://stackoverflow.com/questions/7...ncode-function

delphinia 19. Sep 2011 13:17

AW: Kyrillisch und HTTPEncode Probleme
 
Ja funktioniert nicht ;(

habe zB dieses Wort: Википедия

und daraus soll
%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D 1%8F

Aber das funktioniert weder mit
HTTPEncode
noch mit
Delphi-Quellcode:
  S := TIdURI.URLEncode(str);
//
  S := TIdURI.URLDecode(str);
Zumal URLEncode nicht fuinktioniert bekomme eine Fehlermeldung! "Protokollfeld ist leer"

Habe diese Probleme auch nur mit den nicht Lateinischen Buchstaben... Deutsch, Französisch werden wunderbar kodiert...




Edit: Synapse ist untauglich da nicht UNICODE

Bernhard Geyer 19. Sep 2011 13:22

AW: Kyrillisch und HTTPEncode Probleme
 
Du musst deinen Widestring erst in einen UTF8-String wandeln und dann kannst du es URL-Encoden.

Zitat:

Edit: Synapse ist untauglich da nicht UNICODE
Ist egal. Auf unterer Protokollebene wird sehr oft "UTF8" gesprochen. Un das sollte auch Synapse können.

delphinia 19. Sep 2011 13:31

AW: Kyrillisch und HTTPEncode Probleme
 
Das hatte ich gestern schon versucht hier mein Aufbau:

WORT = Википедия;
k := WideStringToUTF8(WORT);
k := HTTPEncode(k);
Ich hatte auch schon bei K mit STRING und UTF8String gearbeitet alles auch egal :)


da kommt dann raus "%3F%3F%3F%3F%3F%3F%3F%3F%3F" was nur ??????? ist....


Also bin nicht wirklich schlauer/weiter...

DeddyH 19. Sep 2011 13:39

AW: Kyrillisch und HTTPEncode Probleme
 
Und bei
Delphi-Quellcode:
HttpEncode(Utf8Encode(WORT))
?

Bernhard Geyer 19. Sep 2011 13:40

AW: Kyrillisch und HTTPEncode Probleme
 
Was ist WORD vom Typ und woher bekommst du den String? Eintippen im Pas-Quellcode geht dort ja noch nicht.

delphinia 19. Sep 2011 14:01

AW: Kyrillisch und HTTPEncode Probleme
 
WORD ist vom Typ String die Idee von DeddyH hat mir geholfen... Danke... so einfach ist es dann doch. Im Moment schaut es richtig aus... so wie gewünscht....


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz