AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi UTF-8 php MySQL - Problem ä ö ü
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi UTF-8 php MySQL - Problem ä ö ü

Ein Thema von luisk · begonnen am 3. Jun 2016 · letzter Beitrag vom 4. Jun 2016
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Delphi UTF-8 php MySQL - Problem ä ö ü

  Alt 3. Jun 2016, 14:04
Deinen Ausführungen entnehme ich das dein Delphi String als Ansistring interpretiert.
versuch doch mal folgende Eingabe 'lä'#$c3#$bc'üök'. Ich bin gespannt was die DB zurück liefert.
(xC3xBC ist ü in UTF8-Kodierung)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#2

AW: Delphi UTF-8 php MySQL - Problem ä ö ü

  Alt 3. Jun 2016, 14:27
ich hab jetzt den String
C3 BC
an php geschickt und dann weiter an Mysql

so sieht der SQL-String aus, den PHP an MySQL gegeben hat:
2055504441544520745F696E7370656B74696F6E737479705F 312053455420426573636872656962756E675F32203D2027
C3 BC
27202057484552452060706B60203D2032

in MySQL wird "ü" dargestellt -> MySQL stellt utf-8 dar.
Die Frage ist, wie kann ich einen Delphi-string in utf-8 konvertieren ?

wenn ich 6C E4 C3 BC FC F6 6B sende, dann wird nur das l dargestellt
wenn ich ''#$c3#$bc#$c3#$bc#$c3#$bc'' sende, wird 'üüü' in MySQL dargestellt
wenn ich ''#$4c#$c3#$84#$c3#$96#$c3#$bc'' sende , wird 'LÄÖü' in MySQL dargestellt
http://www.utf8-zeichentabelle.de/
wie sieht nun die Konvertierungsroutine in Delphi aus, oder sollte man die selber schreiben ?

Geändert von luisk ( 3. Jun 2016 um 14:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Delphi UTF-8 php MySQL - Problem ä ö ü

  Alt 3. Jun 2016, 15:07
Wenn meine Vermutung bzgl. string richtig war, solltest Du mit AnsiToUtf8 das bekommen was Du brauchst.
(Gewöhn Dir nach Möglichkeit an String nur dort zu verwenden wo es nur auf den enthaltenen Text ankommt. Werden die Interna benötigt (8/16Bit/UTF8) dann bitte den richtigen Typ nutzen!

Dann ist die Suche nach den Fehlerursachen ein wenig einfacher.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#4

AW: Delphi UTF-8 php MySQL - Problem ä ö ü

  Alt 3. Jun 2016, 15:42
Wenn meine Vermutung bzgl. string richtig war, solltest Du mit AnsiToUtf8 das bekommen was Du brauchst.
(Gewöhn Dir nach Möglichkeit an String nur dort zu verwenden wo es nur auf den enthaltenen Text ankommt. Werden die Interna benötigt (8/16Bit/UTF8) dann bitte den richtigen Typ nutzen!

Dann ist die Suche nach den Fehlerursachen ein wenig einfacher.

Gruß
K-H
sorry, aber Ansitoutf8 funktioniert auch nicht.
Hast Du es mal getestet ?

Die Umkehrfunktion Utf8ToAnsi() geht allerdings.

Gruß Luis

Geändert von luisk ( 3. Jun 2016 um 16:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Delphi UTF-8 php MySQL - Problem ä ö ü

  Alt 3. Jun 2016, 23:21
Ist ein wenig gebastelt aber es funktioniert:
Delphi-Quellcode:
type
  ta = array [1..1024] of byte;

var
  pa: ^ta;
  i : integer;
  s : utf8string;
begin
  s:=ansitoutf8(edit1.Text);
  pa:=addr(s[1]);
  edit2.Text:='';
  if length(s)<512 then
  for i:=1 to length(s)*2 do
  edit2.Text:=edit2.Text+inttohex(pa^[i],2)+' ';
end;
0üöä9 ist:
30 C3 BC C3 B6 C3 A4 39 00 ......

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#6

AW: Delphi UTF-8 php MySQL - Problem ä ö ü

  Alt 4. Jun 2016, 16:34
ok, Danke
dieses Beispiel hab auch probiert und es geht.
Bei meine Anwendung klappt es allerdings nicht.
Ich sammle den großen String aus einem Stringgrid zusammen.
Ich muss mal einen Test in einem kleinen Projekt machen und konsequent auf ansistring setzen.
  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 00:43 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-2025 by Thomas Breitkreuz