AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Hindi-String in FB-Datenbank?
Thema durchsuchen
Ansicht
Themen-Optionen

Hindi-String in FB-Datenbank?

Ein Thema von fehlerchen · begonnen am 3. Dez 2018 · letzter Beitrag vom 4. Dez 2018
 
fehlerchen

Registriert seit: 2. Dez 2018
3 Beiträge
 
Delphi XE7 Professional
 
#1

Hindi-String in FB-Datenbank?

  Alt 3. Dez 2018, 16:52
Hallo,

mir will es nicht gelingen, einen String aus Hindi-Worten in einer Firebird-Datenbank abzuspeichern.
Wenn ich die Zeichenkette
प्रभावित व्यक्ति को ताजा हवा में निकालें और अनियंत्रित श्वास की अनुमति दें।
direkt in ibExpert in ein String- oder UTF8- Datenbankfeld schreibe, wird dieses geschrieben als
पà¥à¤°à¤*ावित वà¥à¤¯à¤•à¥à¤¤à¤¿ को ताजा हवा में निकालें और अनियंतà¥à¤°à¤¿à¤¤ शà¥à¤µà¤¾à¤¸ की अनà¥à¤®à¤¤à¤¿ दें।

Diese Zeichenkette kann dann auch als RawByteString von Delphi aus in die Datenbank geschrieben werden.
Aber wie kann ich ihn mir selbst in Delphi aus dem originalen Hindi-String erzeugen, um die Datenbank zu befüllen?

Ein ähnlicher, aber nicht gleicher RawByteString ist folgendermaßen erzeugbar:
TmpTestString := 'प्रभावित व्यक्ति को ताजा हवा में निकालें और अनियंत्रित श्वास की अनुमति दें।'; // die Darstellung im Delphi-Text zeigt seltsame Darstellung mit zusätzlichen Abständen zwischen den Worten, die mir nicht erklärlich sind. - Kann man Delphi Optionen mitgeben, die bewirken, dass in der Delphi ide ebenso, wie hier im Forum dargestellt wird - mit nur einem Leerzeichen zwischen den Worten?
TmpRawByteString := Utf8Encode(TmpTestString);
SetCodePage(TmpRawByteString, 28591, False);

ATable.FieldByName(dq_Text).AsString := TmpRawByteString;
ATable.FieldByName(dq_TextUtf8).AsString := TmpRawByteString; // wirft Fehler malformed String -303



Der andere Weg, den Hindi-String direkt per Delphi in die Datenbank zu schreiben, führt beim UTF8-Feld zum Fehler 'Malformed String'.
Was muss ich denn beachten, damit ich auf einer gewachsenen Firebird-Datenbank mit ursprünglich charset NONE ohne MalformedString-Fehler zu arbeiten?
Zugegriffen wird auf die Datenbank mittels...:

object TheConnection: TFDConnection
Params.Strings = (
'Server=192....'
'Database=/....fdb'
'SQLDialect=1'
'Protocol=TCPIP'
'User_Name=...'
'Password=...'
'DriverID=FB'
'CharacterSet=UTF8')

Muss das CharacterSet noch anderswo oder anders gesetzt werden?
  Mit Zitat antworten Zitat
 

 

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 21:16 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