AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi 7 WebModule Zeichensatz Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 7 WebModule Zeichensatz Problem

Ein Thema von mczero · begonnen am 9. Aug 2012 · letzter Beitrag vom 15. Aug 2012
Antwort Antwort
mczero

Registriert seit: 25. Nov 2010
13 Beiträge
 
Delphi 7 Architect
 
#1

Delphi 7 WebModule Zeichensatz Problem

  Alt 9. Aug 2012, 13:52
Halli hallo,

unsere Webapplikation nutzt ein ISAPI-Modul, das aus Delphi 7 Webbroker-Code besteht.
Da das ganze doch schon recht staub ansetzt, wollte ich nun einfach mal ein wenig AJAX mit JQuery hier und
da in die Applikation einbringen. Es sollen Daten eines Input-Felds im Hintergrund an den Server gesendet werden.
Vorher jedoch befülle ich das Input-Feld in einem OnHTMLTag-Ereignis mit vorhandenen Daten (vereinfachter Code):

Delphi-Quellcode:
if TagString = 'InputEdit1then
  ReplaceText := '<input type="text" name="InputEdit1" id="InputEdit1" value="'+ String1 +'">';
Das Problem hier:
Wenn in String1 etwa ein paar Sonderzeichen sind, wie etwa bei "TestöÖäÄüÜ!"§$%&/()=ß",
so werden davon einige abgeschnitten, und auf der HTML-Seite bleibt nur noch ein Input-Feld mit dem
Value "TestöÖäÄüÜ!" übrig.

Ich dachte, das Delphi entsprechend dem Antwort-Header auch den Zeichensatz korrekt anpasst? Anscheinend nicht...
Wie bekomme ich das in den Griff? Was ist das Problem hier? Vielen Dank für alle Antworten
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Delphi 7 WebModule Zeichensatz Problem

  Alt 9. Aug 2012, 13:56
Kann es vielleicht an dem einen Anführungszeichen TestöÖäÄüÜ!"§$%&/()=ß liegen? Weil einfach so Abschneiden wäre alles andere als üblich, selbst bei Zeichensatzproblemen. Aber schlag mich nicht, wenn ich falsch liege...

[add]
Bin mir eigentlich sogar sehr sicher, dass es sogar daran liegt...

[add]
Schau mal hier. Ersetze mal das " durch &quot; und schaue dann obs klappt. Allgemein solltest du diese speziellen Zeichen eh entsprechend umwandeln.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)

Geändert von s.h.a.r.k ( 9. Aug 2012 um 13:58 Uhr)
  Mit Zitat antworten Zitat
mczero

Registriert seit: 25. Nov 2010
13 Beiträge
 
Delphi 7 Architect
 
#3

AW: Delphi 7 WebModule Zeichensatz Problem

  Alt 9. Aug 2012, 14:14
Tatsache, Du hast recht! Natürlich, man sollte den HTML-Zeichensatz verwenden.

Frage 1:
Hat Delphi Funktionen zum umwandeln von ANSI -> HTML-Zeichensatz? Ich habe nichts dazu gefunden...

Und Frage 2:

Was jetzt noch merkwürdig ist: wenn den Value, der nun korrekt ist, wieder per AJAX an eine Delphi WebModule-Action
schicke, muss ich den String diesmal per utf8toansi() umwandeln. Warum muss ich das auf einmal umwandeln? Wenn ich
sonst herkömmlich eine HTML-Form abgesendet habe und auf der Delphi Seite mit

String1 := Request.ContentFields.Values['InputEdit'];

ausgelesen habe, war der String auch ANSI, ohne das ich UTF8ToANSI() benutzen musste. Reine Verständnisfrage...

Ich sende folgendermaßen:
Code:
$.ajax({
  url: "/scripts/ISAPI.dll/Actionname",
  type: "POST",
  data : { parameter : "Strings mit Umlauten, Sonderzeichen etc."}
});

Geändert von mczero ( 9. Aug 2012 um 14:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: Delphi 7 WebModule Zeichensatz Problem

  Alt 9. Aug 2012, 14:57
zu Frage 1: Kein Plan. Schreibe dir halt selbst schnell einen String-Replacer...

zu Frage 2: Wenn deine Website als UTF-8 ausgeliefert wird, dann wirst du vom Browser immer UTF-8 kodierten Text erhalten. Würde mich wundern, wenn es sonst anders wäre.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
mczero

Registriert seit: 25. Nov 2010
13 Beiträge
 
Delphi 7 Architect
 
#5

AW: Delphi 7 WebModule Zeichensatz Problem

  Alt 9. Aug 2012, 15:04
Frage 1 habe ich selbst beantworten können, HTMLEncode() tut den Zweck

Zu Frage 2: Ja, Requests sind ja prinzipell immer UTF8, egal, bei AJAX Requests wandle ich nun auf Delphi Seite einfach um.

Danke!! Brett vorm Kopf gehabt
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

AW: Delphi 7 WebModule Zeichensatz Problem

  Alt 9. Aug 2012, 15:06
Zu Frage 2: Ja, Requests sind ja prinzipell immer UTF8, egal, bei AJAX Requests wandle ich nun auf Delphi Seite einfach um.
Naja, immer glaube ich nicht. Würde behaupten, dass es mit dem Zeichensatz zusammenhängt, mit dem die Website ausgeliefert wird. Eine andere Basis hat der Browser ja sonst nicht und genau damit arbeitet er dann.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz