binco hat folgendes geschrieben: |
hatte denn niemand ein ähnliches Problem??? |
Die Zeit für eine Antwort ist zwar verstrichen, aber ich habe eine Teilantwort,
falls einen es interessiert und auch eine Frage.
Die Antwort lautet:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| procedure TtlDataModule.AddFontStyle(var AStyle : TStyleObject; iPos : Integer); var SQL : TStringList; bRes : Boolean; begin SQL := TStringList.Create; SConnect; with qryMain, SQL, AStyle do begin Text := 'INSERT INTO styles ('; Add('stylename,'); Add('position,'); Add('fontname,'); Add('fontsize,'); Add('fontstyle,'); Add('fontcolor'); Add(') VALUES ('); Add(''''+EscapeStr(StyleName)+''','); Add(''''+IntToStr(iPos)+''','); Add(''''+EscapeStr(AFont.Name)+''','); Add(''''+IntToStr(AFont.Size)+''','); Add(''''+IntToStr(Byte(AFont.Style))+''','); Add(''''+ColorToString(AFont.Color)+''')');
query(Text, false, bRes);
if(bRes)then begin id := LastInsertId; end else begin ErrorNotify; end; end; SQL.Free; end; |
Und die Frage:
Wenn ich also ein Umlaut in meinen Strings habe und die Datenbanktabelle bzw. das Feld
ein
utf8_general_ci ist, wird kein Wert reingeschrieben, bzw. auch abgeschnitten.
Wenn ich aber das Datenbank-Tabellenfeld ein
latin1_german2_ci ist, wird das
Umlaut zu einem
Fragezeichen.
Ich habe in PHP die Erfahrung gemacht, dass ich utf8_encode ausführen mußte, damit es richtig klappt,
wie mache ich es dann in Delphi?
Gibts eine utf8_encode funktion? Das hieße ja dann dass ich auch das Delphi Programm umstellen muß, so dass es
utf8 richtig darstellt? Bei einer Website stelle ich es im Header ein. Aber wie siehts dann mir der
Suche aus werden die Wörter mit Umlauten erkannt? Oder ich muß mit utf8_ auch suchen.
Also dieses Problem mit den Zeichensätzen habe ich noch allgemein nicht richtig im Griff. Kann mir einer
erklären wie ich dieses Problem angehe???