AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Umlaute // Lazarus 1.4.2 mit Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Umlaute // Lazarus 1.4.2 mit Datenbank

Ein Thema von manfred_h · begonnen am 16. Sep 2015 · letzter Beitrag vom 2. Nov 2015
Antwort Antwort
ThomasBab

Registriert seit: 7. Mai 2007
Ort: Hallenberg
57 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Umlaute // Lazarus 1.4.2 mit Datenbank

  Alt 24. Sep 2015, 14:29
Hallo!

Versuch doch mal in der dpr-Datei (Lazarus-Projektdatei) direkt nach dem "Threat-Gedöns" folgendes einzugeben: {$IFDEF UNIX}cwstring,{$ENDIF}

(Habe ich aus dem Lazarus-Forum, bei dem es darum ging, dass Umlaute unter Windows/Linux Probleme gemacht haben.
Thomas
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#2

AW: Umlaute // Lazarus 1.4.2 mit Datenbank

  Alt 24. Sep 2015, 15:08
Halo Thomas

Habe die .lpr Projektdatei wie folgt angepasst:
vorher:

Delphi-Quellcode:
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
neu:
Delphi-Quellcode:
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,cwstring,
  {$ENDIF}{$ENDIF}
Leider ohne Erfolg

Geändert von manfred_h (24. Sep 2015 um 15:12 Uhr)
  Mit Zitat antworten Zitat
ThomasBab

Registriert seit: 7. Mai 2007
Ort: Hallenberg
57 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Umlaute // Lazarus 1.4.2 mit Datenbank

  Alt 24. Sep 2015, 15:45
Versuch es mal so:

Delphi-Quellcode:
{$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
{$IFDEF UNIX}cwstring,
  {$ENDIF}
Thomas
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#4

AW: Umlaute // Lazarus 1.4.2 mit Datenbank

  Alt 24. Sep 2015, 15:49
Leider auch kein Erfolg..
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#5

AW: Umlaute // Lazarus 1.4.2 mit Datenbank

  Alt 1. Okt 2015, 15:11
Hallo zusammen

Wollte Euch nur ein kleines Update über den Stand der Dinge geben:
Leider bis jetzt noch keinen Erfolg. Der Support hat aber ein Problem im FPC gefunden:
Zitat:
As I said earlier, there is a problem in FPC itself.
Delphi-Quellcode:
procedure TDataSet.DataConvert(aField: TField; aSource, aDest: Pointer;
  aToNative: Boolean);

 // There seems to be no WStrCopy defined, this is a copy of
 // the generic StrCopy function, adapted for WideChar.
 Function WStrCopy(Dest, Source:PWideChar): PWideChar;
 var
   counter : SizeInt;
 Begin
   counter := 0;
   while Source[counter] <> #0 do
   begin
     [B]Dest[counter] := char(Source[counter]); //<<< here should be WideChar instead of char , so it loses all unicode chars[/B]
     Inc(counter);
   end;
   { terminate the string }
   Dest[counter] := #0;
   WStrCopy := Dest;
 end;
Hier gehts im Support Forum weiter:
http://talk.remobjects.com/t/german-...azarus/6041/29

Shalom
Manfred
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Umlaute // Lazarus 1.4.2 mit Datenbank

  Alt 1. Okt 2015, 17:44
Es wird aber auch durch mehrfache Wiederholung von denen nicht richtiger, das die denken, das da Fehler in Lazarus sind. Wahrscheinlich ist da ein Fehler in der zusammenarbeit zwischen deren Komponenten und der Lazarus Funktionsweise, aber das ist dann ganz wo anders zu beheben als irgendwo an den fpc sourcen was zu patchen. Wäre jedenfalls meine Sicht der Dinge.

Siehe Anhang: ist enfach mal UTF8 Inhalt von http://www.columbia.edu/~kermit/utf8.html
in unser ERP System eingefügt und das wird sowohl in BRP (geschrieben mit Lazarus) als auch in IBExpert (geschrieben mit Delphi) korrekt dargestellt.
Angehängte Grafiken
Dateityp: png utf8.png (83,0 KB, 26x aufgerufen)
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf

Geändert von IBExpert ( 1. Okt 2015 um 17:46 Uhr)
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#7

AW: Umlaute // Lazarus 1.4.2 mit Datenbank

  Alt 2. Okt 2015, 22:03
Hier das neueste Update:

Sieht im Moment nicht so gut aus...

Zitat:
the main difference between Delphi and Lazarus: Delphi uses UTF16 for unicode support in comparing Lazarus that uses UFT8 ...
RO/DA use UTF16 for unicode support because it other our platforms (.NET/Cocoa/etc) also use UTF16.

as a workaround, you can use my suggestion from previous post and manually convert UTF16 into UTF8
another solution is convert UTF16 to UTF8 by request in OnGetText event
Delphi-Quellcode:
procedure TForm1.tbl_test31144_utf8WSTRGetText(Sender: TDACustomField;
  var Text: string; DisplayText: boolean);
begin
  if Sender.DataType = datWideString then Text := UTF8Encode(Sender.asWideString);
end;
Zitat:
in this case, data in grid will be shown correctly, but it will require fix in TDataSet.DataConvert, also manual encoding will be required if you wanted to use UTF16 string in lazarus controls like edit/memo
  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 07:00 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